我有一个列值实际上是一个字符串日期格式" 2014年11月4日12:00:00"我想把它作为时间戳值,如2014-11-4 12:00:00。我怎么能这样做,我试过波纹管代码
from datetime import datetime
datetext="Nov 1 2004 12:00:00"
datev= datetime.strptime(datetext,"%YYYY-mm-dd")
print datev
并收到此错误
ValueError: time data 'Nov 1 2004 12:00:00' does not match format '%YYYY-mm-dd'
似乎我在这里遗漏了一些东西。任何人都可以指导我
答案 0 :(得分:0)
将正确的格式设置为strptime以反映您的输入:
datev = datetime.strptime(datetext,"%b %d %Y %H:%M:%S")
有关格式化指令,请参阅here。 (Python {3 Here。)
如果print
您创建的后续datev
datetime
个对象,则str
对象的默认datetime
格式将符合您的要求(2014- 11-4 12:00:00)。如果要修改打印输出的外观,请使用strftime
,如Sardorbek的答案所示,再次使用您想要的格式化指令。
答案 1 :(得分:0)
首先,您使用strptime
错误https://docs.python.org/3.6/library/datetime.html#datetime.datetime.strptime
使用datetext
将strptime
转换为日期时间后,您需要使用strftime
https://docs.python.org/3.6/library/datetime.html#datetime.datetime.strftime
使用@FeebleOldMan部分回答
from datetime import datetime
datetext="Nov 1 2004 12:00:00"
datev = datetime.strptime(datetext,"%b %d %Y %H:%M:%S")
new_datetext = datev.strftime('%Y-%m-%d %H:%M:%S')
print(new_datetext)