Python日期时间转换

时间:2017-12-21 14:29:36

标签: python datetime strptime string-conversion

我有一个像

的字符串
"Wednesday, December 13, 2017 6:48:04 AM" 

我需要将其转换为“8/9/2017 10:44”格式。 我尝试过使用strptime,就像这样:

strptime('Jun 1 2005  1:33PM', '%b %d %Y %I:%M%p') 

但它不起作用。

任何人都知道该怎么做?

3 个答案:

答案 0 :(得分:3)

您的格式与您的输入不符。试试这个:

time.strptime(
    "Wednesday, December 13, 2017 6:48:04 AM",
    '%A, %B %d, %Y %I:%M:%S %p')

返回正确的

time.struct_time(tm_year=2017, tm_mon=12, tm_mday=13,
                 tm_hour=6, tm_min=48, tm_sec=4,
                 tm_wday=2, tm_yday=347, tm_isdst=-1)

答案 1 :(得分:1)

关于strftime and strptime的每个文档,您在格式字符串中遗漏了几个部分。 使用此作为strptime格式:

'%A, %B %d, %Y %I:%M:%S %p'

这是你的strftime格式:

'%m/%d/%Y %I:%M %p'

您可以按如下方式将这两种方法组合在一行中,以获得所需的结果:

time.strftime('%m/%d/%Y %I:%M %p', time.strptime("Wednesday, December 13, 2017 6:48:04 AM", '%A, %B %d, %Y %I:%M:%S %p'))

答案 2 :(得分:0)

将它与strftime结合使用以获得所需的格式

time.strftime("%a, %d %b %Y %H:%M:%S +0000", (time.strptime('Jun 1 2005 1:33PM', '%b %d %Y %I:%M%p')))

'Wed,01 Jun 2005 13:33:00 +0000'