Python日期时间转换

问题描述 投票:0回答:3

我有一个字符串就像

"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') 

但它不起作用。

任何人都知道如何做到这一点?

python datetime strptime string-conversion
3个回答
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
投票

根据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'))

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')))

'星期三,2005年6月1日13:33:00 +0000'

© www.soinside.com 2019 - 2024. All rights reserved.