python标准库(datetime)

1、datetime模块
  对日期、时间、时间戳的处理
  1> datetime类
    类方法:没有时间对象使用类的方法构造时间对象
      today()    返回本地时区当前时间的datetime对象
      now(tz=None)    返回当前时间的datetime对象,时间到微秒,如果tz为None,返回和 today() 一样
      utcnow()    没有时区的当前时间
      fromtimestamp(timestamp, tz=None)    从一个时间戳返回一个datetime对象

    datetime对象:有时间对象调用时间戳返回时间戳
      timestamp()    返回一个到微秒的时间戳
      时间戳:格林威治时间1970年1月1日0点到现在的秒数

import datetime
print(type(datetime.datetime))    #

执行结果:
<class 'type'>
import datetime
print(datetime.datetime.now())       #类的方法,返回一个当前时区时间的对象
print(datetime.datetime.today())     #中国:东八区,和没有时区的时间差8个小时
print(datetime.datetime.utcnow())    #没有时区的时间

执行结果:
2020-04-08 18:15:34.319195
2020-04-08 18:15:34.319196
2020-04-08 10:15:34.319195
import datetime
d1 = datetime.datetime.now()
print(d1)
print(d1.timestamp())    #返回一个到微妙的时间戳
print(datetime.datetime.fromtimestamp(1586341355))    #从一个时间戳返回datetime对象

执行结果:
2020-04-08 18:22:52.348085
1586341372.348085
2020-04-08 18:22:35

 

  2> datetime对象
    构造方法datetime.datetime(2016, 12, 6, 16, 29, 43, 79043)
    year、month、day、hour、minute、second、microsecond,取datetime对象的年月日时分秒及微秒
    weekday()    返回星期的天,周一0,周日6
    isoweekday()    返回星期的天,周一1,周日7
    date()    返回日期date对象
    time()    返回时间time对象
    replace()    修改并返回新的时间
    isocalendar()    返回一个三元组(年,周数,周的天)

import datetime
d = datetime.datetime(2020,1,1,12,12,12)
print(d)
print(d.year,d.month)
print(d.weekday())       #返回星期:0-6
print(d.isoweekday())    #返回星期:1-7
print(d.date())          #2020-01-01
print(d.time())          #12:12:12
print(d.replace(2017))   #返回全新的时间对象
print(d.isocalendar())   #返回一个三元组(年,周数,周的天)

执行结果:
2020-01-01 12:12:12
2020 1
2
3
2020-01-01
12:12:12
2017-01-01 12:12:12
(2020, 1, 3)
import datetime
d = datetime.datetime(2019,12,12,12,12,12)
print(d)
d1 = d.replace(d.year-10,5,5)
print(d1)
d2 = datetime.datetime(d1.year,d1.month,d1.day)
print(d2)

执行结果:
2019-12-12 12:12:12
2009-05-05 12:12:12
2009-05-05 00:00:00

 

 

2、日期格式化
  类方法strptime(date_string, format),返回datetime对象
  对象方法strftime(format),返回字符串
  字符串format函数格式化

import datetime
d = datetime.datetime.strptime("2020,1,1,12,12,12","%Y,%m,%d,%H,%M,%S")    #字符串 ——> 时间对象
print(d)
d1 = datetime.datetime(2020,2,2,5,5,5)
d2 = d1.strftime("%Y-%m-%d %H:%M:%S")    #时间对象 ——> 字符串
print(d2)

执行结果:
2020-01-01 12:12:12
2020-02-02 05:05:05
2020-02-02 05:05:05
import datetime
d = datetime.datetime.strptime("2020,1,1,12,12,12","%Y,%m,%d,%H,%M,%S")
print("{0:%Y}/{0:%m}/{0:%d} {0:%H}:{0:%M}:{0:%S}".format(d))
print('{:%Y-%m-%d %H:%M:%S}'.format(d))

执行结果:
2020/01/01 12:12:12
2020-01-01 12:12:12

 

 

3、timedelta对象
  datetime2 = datetime1 + timedelta
  datetime2 = datetime1 - timedelta
  timedelta = datetime1 - datetime2
  构造方法:
    datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
    year = datetime.timedelta(days=365)
  total_seconds()返回时间差的总秒数

import datetime
d = datetime.datetime(2020,1,1,1,1,1)
d1 = d + datetime.timedelta(days=10)
print(d1)
print(datetime.timedelta(days=365).total_seconds())

执行结果:
2020-01-11 01:01:01
31536000.0

 

 

4、标准库time
  time
    time.sleep(secs)将调用线程挂起指定的秒数

import time
time.sleep(5)    #挂起线程5秒,之后print('_____')
print('_____')

 

posted @ 2020-04-08 18:55  我听过  阅读(1119)  评论(0编辑  收藏  举报