我正在尝试将orig_time打印为2013年6月9日,并且遇到以下错误。可能有人提供有关此处错误的输入
代码:
orig_time="2013-06-09 00:00:00"
Time=(orig_time.strftime('%m-%d-%Y'))
print Time
错误: -
Traceback (most recent call last):
File "date.py", line 2, in <module>
Time=(orig_time.strftime('%m-%d-%Y'))
AttributeError: 'str' object has no attribute 'strftime'
答案 0 :(得分:6)
你不能在字符串上使用strftime
,因为它不是字符串的方法,一种方法是使用datetime
模块:
>>> from datetime import datetime
>>> orig_time="2013-06-09 00:00:00"
#d is a datetime object
>>> d = datetime.strptime(orig_time, '%Y-%m-%d %H:%M:%S')
现在您可以使用任一字符串格式:
>>> "{}/{}/{}".format(d.month,d.day,d.year)
'6/9/2013'
>>> d.strftime('%m-%d-%Y')
'06-09-2013'
答案 1 :(得分:1)
>>> import time
>>> time.strftime("%m-%d-%y",time.strptime("2013-06-09 00:00:00","%Y-%m-%d %H:%M:%S"))
'06-09-13'
但删除前导零的痛苦更多...如果你需要那么使用其他答案
还不清楚你想要什么,因为你的标题说了一件事(和你的格式字符串),但它与你说的问题中的预期输出不符
答案 2 :(得分:0)
import time
now1 = time.strftime("%d-%m-%y", time.localtime())
print(now1)
如果您愿意,可以根据需要更改“d-m-y”并可以使用静态时间。
答案 3 :(得分:-1)
import time
orig_time="2013-06-09 00:00:00"
Time= time.strftime(orig_time, '%m-%d-%Y')
print Time