Python 日期时间转换

Python date time 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') 

但是没有用。

有人知道怎么做吗?

您输入的格式不匹配。试试这个:

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

Returns 正确的

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)

结合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'

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