如何将日期字符串(2016/5/7/ 4:25:00 PM)转换为日期格式(2016-05-07 4:25:00)在python中。

18 浏览
0 Comments

如何将日期字符串(2016/5/7/ 4:25:00 PM)转换为日期格式(2016-05-07 4:25:00)在python中。

这个问题已经有答案了:

如何以常规格式打印日期?

我在尝试将这个字符串转换为日期时间时遇到了问题,以下是我在代码中尝试过的内容:

import datetime
mystring = '2016/5/7/  4:25:00 PM'
dateobj = datetime.datetime.strptime(mystring, "%Y-%B-%dT%H:%M:%S-%H:%M")
print (dateobj)

它会抛出错误,我在库中搜索仍然不能确定我的格式错误在哪里。

任何帮助都会让我非常感激。

admin 更改状态以发布 2023年5月22日
0
0 Comments

你所遇到的问题是,在将日期对象进行转换之前,首先必须创建一个日期对象。这意味着你的格式化必须匹配当前的字符串格式'2016/5/7 4:25:00 PM' = "%Y/%m/%d %H:%M:%S %p"。因此,我们现在可以创建一个日期对象,然后使用你的新格式"%Y-%B-%dT%H:%M:%S-%H:%M"来对其进行格式化。

import datetime
mystring = '2016/5/7 4:25:00 PM'
dateobj = datetime.datetime.strptime(mystring, "%Y/%m/%d %H:%M:%S %p")
dateobj = datetime.datetime.strftime(dateobj, "%Y-%B-%dT%H:%M:%S-%H:%M")
print (dateobj)

得到的输出有点奇怪,但它完美地匹配了你的格式。请访问datetime库,查看格式代码并了解strptimestrftime。祝你好运。

输出:2016-May-07T04:25:00-04:25

0
0 Comments

你可以这样做:

import datetime    
mystring = '2016/5/7 4:25:00 PM'
dateobj = datetime.datetime.strptime(mystring, "%Y/%m/%d %I:%M:%S %p")
dateobj
Out[1]: datetime.datetime(2016, 5, 7, 16, 25)
dateobj1 = datetime.datetime.strptime(mystring, "%Y/%m/%d %I:%M:%S %p").strftime("%Y-%m-%d %I:%M:%S")
dateobj1
Out[2]: '2016-05-07 04:25:00'

0