关于Python日期格式转换
python日期格式转换,上代码。
import time import datetime time_str = 'Jun 18, 2016' time_format=datetime.datetime.strptime(time_str,'%b %d, %Y') print(time_format)
当然这个很简单,如果time_str是其他形式的,还可以按照time_format当中的‘%’进行替换时间日期格式化符号。
在转换格式的时候有一个小坑,time_str中,年月日是常见的,每个单位用逗号隔开,但是月和日要使用空格隔开。类似于代码中的格式一样。
这里再穿插一段内容,上图的代码得到的日期是一个时间对象,并不是一个字符串类型的,正好今天遇到了需要计算时间进行校验的问题,所以补充下。
如果需要得到时间类型的字符串而不是一长串时间对象,直接上代码看吧。还是借用上面的例子:
import time import datetime time_str = 'Jun 18, 2016' time_format=datetime.datetime.strptime(time_str,'%b %d, %Y') t_str = time_format.strftime("%Y-%m-%d") print(time_format)# 输出时间对象 print(t_str)# 输出时间字符串
使用strftime()再转一下就可以得到一个时间字符串。
但是如果我门直接得到的是'20200804'这样的怎么办?
from dateutil.parser import parse date = parse('20160910').strftime('%Y-%m-%d-%H-%M')[0:-6] print(date)
输出:
2016-09-10%y 两位数的年份表示(00-99) %Y 四位数的年份表示(0000-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 当前时区的名称(+0800这样的时区转换用小写的z!!!) %% %号本身