本文最后更新于 258 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com
模块datetime:日期时间
import datetime as dt
日期date对象
产生一个有年月日信息的date对象:
d1 = dt.date(2007, 9, 25)
d1
datetime.date(2007, 9, 25)
d2 = dt.date(2008, 9, 25)
分别表示2008年9月25日和2007年9月25日。日期可以打印出来:
print(d1)
2007-09-25
还可以调用date对象的.strftime()
方法将日期转化为特定格式:
d1.strftime('%A, %m/%d/%y')
'Tuesday, 09/25/07'
d1.strftime('%a, %m-%d-%Y')
'Tue, 09-25-2007'
时间间隔timedelta对象
两个日期可以相减:
d2 - d1
datetime.timedelta(days=366)
时间time对象
产生两个时间对象:
t1 = dt.time(15, 38)
t2 = dt.time(18)
分别表示15点38分和18点整:
print(t1)
15:38:00
t2
datetime.time(18, 0)
输出格式同样可以用.strftime()
方法改变:
t1.strftime('%H:%M:%S, %p')
'15:38:00, PM'
日期时间datetime对象
同时带日期与时间的对象:
dt.datetime(2022, 3, 7, 2, 49, 39)
datetime.datetime(2022, 3, 7, 2, 49, 39)
d1 = dt.datetime.now()
print(d1)
2022-05-02 21:05:26.567396
date和datetime对象都支持减法;此外,它们还支持与timedelta对象的加法。例如,将当前时间加上30天:
print(d1 + dt.timedelta(30))
2022-06-01 21:05:26.567396
日期格式
字符 | 含义 |
---|---|
%a | 星期英文缩写 |
%A | 星期英文 |
%w | 一星期的第几天,[0(sun),6] |
%b | 月份英文缩写 |
%B | 月份英文 |
%d | 日期,[01,31] |
%H | 小时,[00,23] |
%I | 小时,[01,12] |
%j | 一年的第几天,[001,366] |
%m | 月份,[01,12] |
%M | 分钟,[00,59] |
%p | AM 和PM |
%S | 秒钟,[00,61] |
%U | 一年中的第几个星期,星期日为第一天,[00,53] |
%W | 一年中的第几个星期,星期一为第一天,[00,53] |
%y | 没有世纪的年份 |
%Y | 完整的年份 |