如何将日期字符串(2016/5/7/ 4:25:00 PM)转换为日期格式(2016-05-07 4:25:00)在python中。
如何将日期字符串(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日
你所遇到的问题是,在将日期对象进行转换之前,首先必须创建一个日期对象。这意味着你的格式化必须匹配当前的字符串格式'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库,查看格式代码并了解strptime
与strftime
。祝你好运。
输出:2016-May-07T04:25:00-04:25
你可以这样做:
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'