python datetime模块
侯小啾 人气:0python 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'))
加载全部内容