datatime模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime,timedelta,tzinfo。
参考:https://www.cnblogs.com/huhu-xiaomaomi/p/10338472.html
https://www.cnblogs.com/haitaoli/p/10823403.html
https://www.cnblogs.com/haitaoli/p/10823403.html
https://blog.csdn.net/sunjinjuan/article/details/79113120
1.字符串转datetime
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
datetime1='2021-04-22 21:02:09'
datetime11=datetime.strptime(datetime1, '%Y-%m-%d %H:%M:%S')
2.datetime转字符串
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
3.两个时间做差得到时间差(timedelta对象)
3.1查看时间差对象
datetime1='2021-04-22 21:02:09'
datetime11=datetime.strptime(datetime1, '%Y-%m-%d %H:%M:%S')
a=datetime.now()
print(a-datetime11,type(a-datetime11))
3.2时间差运算
from datetime import *
#将字符串转成datetime
datetime1='2021-04-22 21:02:09'
datetime11=datetime.strptime(datetime1, '%Y-%m-%d %H:%M:%S')
a=datetime.now()
datetime22=datetime11+timedelta(days=2,hours=1)#算2天1小时后的时间
print(datetime11,datetime22)
4.取datetime对象里面的date(),year,hour…
from datetime import *
#将字符串转成datetime
datetime1='2021-04-22 21:02:09'
datetime11=datetime.strptime(datetime1, '%Y-%m-%d %H:%M:%S')
a=datetime.now()
print(a,a.date())
print(a.year,a.month,a.day)
b=a.replace(year=2000)
print(b,b.strftime('%Y-%m-%d %H:%M:%S'))