datetime是python处理时间和日期的标准库
类名 | 功能说明 |
---|---|
date | 日期对象,常用的属性有year, month, day |
time | 时间对象hour,minute,second,毫秒 |
datetime | 日期时间对象,常用的属性有hour, minute, second, microsecond |
timedelta | 时间间隔,即两个时间点之间的长度 |
主要使用: datetime.datetime( ) 、 datetime.timedelta( )
本文仅涉及一些常用的方法, 详情请参考官方文档
这一组方法将数组显示成时间日期格式
import datetime
# 显示为时间格式
print(datetime.time(21,28,14,123456)) # 21:28:14.123456
# 显示为日期格式
print(datetime.date(2019,12,14)) # 2019-12-14
# 显示为日期时间格式
print(datetime.datetime(2019,12,14,21,32,48,456)) # 2019-12-14 21:32:48.000456
这是最常用的一个方法
from datetime import datetime
print(datetime.now()) # 2019-07-27 20:16:23.264262
时间之间可以进行运算, 通过这个特性可以用来计算两个时间之间的差或和
from datetime import datetime
# 通过日期算用户活了多久
user_birthday = [1996, 8, 9]
# 现在的时间 - 用户的生日
how_day = datetime.now() - datetime(*user_birthday)
print(how_day)
# 运行结果:
8387 days, 20:46:32.434009
时间戳的计算是从1900年1月1日0点开始的, 显示的数值单位为秒
print(datetime.now().timestamp()) # 1564229940.623349
print(datetime.fromtimestamp(1564229940.623349)) # 2019-07-27 20:19:00.623349
时间日期对象.strftime(format)
print(datetime.now().strftime("%Y-%m-%d")) # 2019-07-27
datetime.strptime(data_str, format)
print(datetime.strptime('2018/3/22 15.28.18', '%Y/%m/%d %H.%M.%S')) # 2018-03-22 15:28:18
[外链图片转存失败(img-xPM7goHr-1564232427812)(E:\Fire\笔记\assets\1564229337970.png)]
可以通过timedelta
方法指定天数用来计算时间差, 详情参考官方文档
datetime.timedelta(days=0,seconds=0, microseconds=0 milliseconds=0,minutes=0, hours=0, weeks=0)
import datetime
now = datetime.datetime.now()
# 获取一天前的日期
print(now - datetime.timedelta(days=1)) # 2019-07-26 20:57:23.972622
# 获取1天20小时20分后的日期
print(now + datetime.timedelta(days=1, hours=20, minutes=20)) #2019-07-29 17:17:23.973261