python经常需要时间格式转化,可以采用 time或者datetime模块进行处理,常用的有以下几个函数:
(1)strftime 日期转字符串
(2)strptime字符串转日期
(3)timedelta 时间差
本文采用import datetime 的方式 进行时间处理。
1)格式化输出时间(时间转字符串)和strptime字符串转日期,strftime和strptime 常用参数:
# %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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2)获取当前时间
#获取当前时间
now=datetime.datetime.now()
print(now,type(now))
- 1
- 2
- 3
3) 时间转字符串 格式化时间
strtime = now.strftime('%Y-%m-%d %H:%M:%S')
print(strtime, type(strtime))
- 1
- 2
4) 字符串转时间
date1 = datetime.datetime.strptime('2018-12-01 01:32:25', '%Y-%m-%d %H:%M:%S')
print(date1)
#或者
date2 = datetime.datetime.strptime(strtime, '%Y-%m-%d %H:%M:%S')
print(date2)
- 1
- 2
- 3
- 4
- 5
- 6
5)间隔天数和秒
#间隔天数
deltaday = (date2 - date1).days
print("间隔天数 ", deltaday)
#间隔秒数
deltasecond = (date2 - date1).seconds
print("间隔秒数 ", deltasecond)
- 1
- 2
- 3
- 4
- 5
- 6
6)当期时间加减天数 使用timedelta
#当前时间减去时间间隔
repair_time = now + datetime.timedelta(days=-2)
#格式化输出
print(repair_time)
- 1
- 2
- 3
- 4
eg:
# 将'2021/3/30' 转成'20210330'
s = '2021/3/30'
s = datetime.datetime.strptime(s, '%Y/%m/%d').date()
print(str(s).replace('-', ''))
# 将'2021-04-01T00:00:00' 转成 '2021-04-01'
a ='2021-04-01T00:00:00'
a = datetime.datetime.strptime(a, '%Y-%m-%dT%H:%M:%S').date()
print(str(a))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10