格式化时间为%d-%m-%y

use*_*103 2 python

我试图打印orig_time为2013年6月9日,并遇到以下错误..任何人都可以提供有关此处错误的输入

码:

orig_time="2013-06-09 00:00:00"
Time=(orig_time.strftime('%m-%d-%Y'))
print Time
Run Code Online (Sandbox Code Playgroud)

错误:-

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'
Run Code Online (Sandbox Code Playgroud)

Ash*_*ary 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')
Run Code Online (Sandbox Code Playgroud)

现在您可以使用任一字符串格式:

>>> "{}/{}/{}".format(d.month,d.day,d.year)
'6/9/2013'
Run Code Online (Sandbox Code Playgroud)

或者datetime.datetime.strftime:

>>> d.strftime('%m-%d-%Y')
'06-09-2013'
Run Code Online (Sandbox Code Playgroud)