python datetime模块详解
作者:侯小啾
Python中常用于时间的模块有time、datetime 和 calendar,顾名思义 time 是表示时间(时、分、秒、毫秒)等,calendar 是表示日历时间的,本章先讨论 datetime 模块,需要的朋友可以参考下
python datetime模块
Python中常用于时间的模块有time、datetime 和 calendar,顾名思义 time 是表示时间(时、分、秒、毫秒)等,calendar 是表示日历时间的,本章先讨论 datetime 模块。
先看看 datetime 模块都有些什么
datetime 模块中有什么
序号 | 描述 | 类型 | |
---|---|---|---|
1 | MAXYEAR | 9999,指能支持的最大年份 | int |
2 | MINYEAR | 1,指能支持的最小年份 | int |
3 | date | 表示日期的类,常用的属性有year, month, day | type |
4 | datetime | 表示日期时间的类,常用的属性有hour, minute, second, microsecond | type |
5 | datetime_CAPI | 后面详细描述 | 'PyCapsule' 类 |
6 | sys | 各种系统信息 | 'module'类 |
7 | time | 表示时间的类 | type |
8 | timedelta | 表示时间间隔,即两个时间点的间隔。在日期上做天days,小时hour,分钟,秒,毫秒,微妙的时间计算 | type |
9 | timezone | 表示时区的类 | type |
10 | tzinfo | 时区的相关信息 | type |
准确的说,datetime 模块中的常用类即date、datetime、time、timedelta、timezone、tzinfo。
其中date、datetime、time三个类有非常相似的属性和方法。
创建该三个类的示范如下:
import datetime date_sample=datetime.date(2021,07,20) #年月日 time_sample=datetime.time(12,20,33) #时分秒 datetime_sample=datetime.datetime(2021,7,20,12,20,33)#年月日时分秒
下面重点介绍下python datetime模块,内容如下所示:
导包
from datetime import datetime
1. 获取当前时间
now = datetime.now() print(now) print(type(now)) print(now.year) print(now.month) print(now.day) print(now.hour) print(now.minute) print(now.second) print(now.microsecond)
2. 时间间隔 timedelta
from datetime import timedelta
两个datetime对象相减,得到的是一个timedelta对象
# 计算时间间隔 delta1 = datetime(2022, 6, 30, 20) - datetime(2022, 2, 2, 1) print(delta1) print(type(delta1))
如图,表示148天零19个小时。
print(datetime(2022, 6, 10) + delta1)
timedelta传入不同数量的参数,表示的含义汇总如下。
第一个表示天数,第二个表示秒数,第三个表示微秒。第四个表示毫秒,第五个表示分钟,第六个表示小时。
print(timedelta(10)) print(timedelta(10,11)) print(timedelta(10, 11, 12)) print(timedelta(10, 11, 12, 13)) print(timedelta(10, 11, 12, 13, 14)) print(timedelta(10, 11, 12, 13, 14, 15))
3. datetime 转 字符串 strftime()
stamp = datetime(2022, 6, 22) # 强制转换字符串 print(str(stamp)) # 格式化 转换 字符串 print(stamp.strftime("%Y/%m/%d %H:%M:%S")) print(stamp.strftime("%Y-%m-%d %H:%M:%S")) print(stamp.strftime("%Y/%m/%d")) print(stamp.strftime("%Y-%m-%d"))
4. 字符串 转 datetime对象 datetime.strptime()
dates = ['1/6/2022', '6/1/2022'] datelist = [datetime.strptime(i, "%m/%d/%Y") for i in dates] print(datelist)
5. parse() 解析字符串日期
将字符串形式的日期解析成datetime对象。
字符串写法可以有很多,如下示例。
from dateutil.parser import parse print(parse('1/6/2022')) print(parse('2022-6-2')) print(parse('2022.6.3')) print(parse('2022 6 4')) print(parse('2022, 6, 5'))
到此这篇关于python datetime模块的文章就介绍到这了,更多相关python datetime模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!