关于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!!!)
  %% %号本身 
自有风云来时雨, 似有风霜沾蓑衣
原文地址:https://www.cnblogs.com/meipu/p/13039882.html