Python日期时间转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python日期时间转换相关的知识,希望对你有一定的参考价值。

我有一个字符串就像

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

返回正确的

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 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'))
另一答案

将它与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'

以上是关于Python日期时间转换的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记:python3,代码片段(2017)

python pandas日期时间转换为日期

JavaScript 时间戳到 Python 日期时间的转换

java字符串格式转换成日期格式

python操作日期和时间的方法

在 Python 中将一列日期时间转换为纪元