4

我正在尝试将 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'
4

4 回答 4

12

您不能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'

datetime.datetime.strftime

>>> d.strftime('%m-%d-%Y')
'06-09-2013'
于 2013-06-21T23:21:08.640 回答
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'

但删除前导零更痛苦......如果您需要使用其他答案

也不清楚您想要什么,因为您的标题说明了一件事(以及您的格式字符串),但它与您所说的问题中的预期输出不匹配

于 2013-06-21T23:21:56.453 回答
0
import time

now1 = time.strftime("%d-%m-%y", time.localtime())
print(now1)

如果您愿意,您可以根据需要更改“dmy”并且可以使用静态时间。

于 2021-01-18T01:15:44.460 回答
-1
import time

orig_time="2013-06-09 00:00:00" 

Time= time.strftime(orig_time, '%m-%d-%Y')

print Time
于 2017-05-26T08:16:34.723 回答