python datetime模块详解

python datetime模块            

python datetime模块详解_第1张图片

Python中常用于时间的模块有time、datetime 和 calendar,顾名思义 time 是表示时间(时、分、秒、毫秒)等,calendar 是表示日历时间的,本章先讨论 datetime 模块。

先看看 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)

python datetime模块详解_第2张图片

2. 时间间隔 timedelta

from datetime import timedelta

两个datetime对象相减,得到的是一个timedelta对象

# 计算时间间隔
delta1 = datetime(2022, 6, 30, 20) - datetime(2022, 2, 2, 1)
print(delta1)
print(type(delta1))

python datetime模块详解_第3张图片

如图,表示148天零19个小时。

print(datetime(2022, 6, 10) + delta1)

python datetime模块详解_第4张图片

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))

python datetime模块详解_第5张图片

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"))

python datetime模块详解_第6张图片

4. 字符串 转 datetime对象 datetime.strptime()

dates = ['1/6/2022', '6/1/2022']
datelist = [datetime.strptime(i, "%m/%d/%Y") for i in dates]
print(datelist)

      

python datetime模块详解_第7张图片

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模块详解_第8张图片

到此这篇关于python datetime模块的文章就介绍到这了,更多相关python datetime模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(python datetime模块详解)