标准库datetime
datetime模块
import datetime 导入datetime 模块
对时间,日期,时间戳处理
模块下的类datetime
datetime.datetime.today() 返回包含本地时区时间信息的对象
datetime.datetime.now(tz=None) 返回当前时间的datetime对象,时间到微秒,如果tz为None,返回的和today相同
utcnow() 没有时区的当前时间, 国际标准时间
fromtimestamp(timestamp,tz=None) 从一个时间戳返回一个datetime对象
datetime.datetime.fromtimestamp(1534450728.552351)
datetime对象
timestamp() 返回到微秒的时间戳
时间戳 :timestamp,格林威治时间1970年1月1日0点到现在的秒数,python中精确到后几位
时间戳可以来统一不同的时间
构造方法:datetime.datetime(2016, 12, 7, 23, 13, 54)
时间戳与时区无关,在同一时间取到的时间戳,在美国与中国时间戳相同。国际业务使用国际时间。
fromtimestamp
weekday() 返回周几,周一0
iosweekday() 返回星期的天,周一1,周日7
date() 返回日期date对象
time() 返回时间对象time
replace() 修改并返回新的时间
isocalendar 返回一个三元组(年,周数,周的天)
标准库datetime
日期格式化*
类方法 strptime (date_string,format) -->datetime 返回datetime对象,解析过去时间
对象方法 strftime(format) 返回字符串
字符串format函数格式化
import datetime dt = datetime.datetime.strptime("21/11/06 16:30","%d/%m/%y %H:%M")
#解析,使用字符串转成时间,格式要求完全匹配
print(dt.strftime('%Y-%m-%d %H:%M:%S')) print('{0:%Y}/{0:%m}/{0:%d} {0:%H}::{0:%M}::{0:%S}'.format(dt))
返回
2006-11-21 16:30:00 2006/11/21 16::30::00
strftime 年的 %Y4位,%y2位
timedelta对象
timedelta = datetime1 - datetime2
datetime2 = datetime1 - timedelta
datetime2 = datetime1 + timedelta
构造方法
datetime.timedelta(days=0,seconds=0,microseconds=0,minutes=0,hours=0,weeks=0)
默认顺序,按照使用频率排序,要写控制参数就都要写,要不就(0,2,0,0,2),构造新的timedelta
timedelta.total_second() 返回时间差总秒数 eg: delta.timedelta.total_second()
时间增量天秒最常用
标准库time
time.sleep(secs)将调用线程挂起指定的秒数,多线程时在控制台输入命令是会暂时存至键盘缓存区,但不会响应执行指令