python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python datetime模块

python datetime模块详解

作者:侯小啾

Python中常用于时间的模块有time、datetime 和 calendar,顾名思义 time 是表示时间(时、分、秒、毫秒)等,calendar 是表示日历时间的,本章先讨论 datetime 模块,需要的朋友可以参考下

python datetime模块            

在这里插入图片描述

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

先看看 datetime 模块都有些什么

datetime 模块中有什么

datetime 模块中有什么
序号 描述类型
1MAXYEAR9999,指能支持的最大年份int
2MINYEAR1,指能支持的最小年份int
3date表示日期的类,常用的属性有year, month, daytype
4datetime表示日期时间的类,常用的属性有hour, minute, second, microsecondtype
5datetime_CAPI后面详细描述'PyCapsule' 类
6sys各种系统信息'module'类
7time表示时间的类type
8timedelta表示时间间隔,即两个时间点的间隔。在日期上做天days,小时hour,分钟,秒,毫秒,微妙的时间计算type
9timezone表示时区的类type
10tzinfo时区的相关信息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模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文