Python 将时间格式化为%d-%m-%y
我试图将原始时间打印为2013年6月9日,但遇到了以下错误。有人能提供关于此处错误的信息吗 代码: 错误:-Python 将时间格式化为%d-%m-%y,python,Python,我试图将原始时间打印为2013年6月9日,但遇到了以下错误。有人能提供关于此处错误的信息吗 代码: 错误:- 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' 回溯(最近一次呼叫最后一次):
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'
回溯(最近一次呼叫最后一次):
文件“date.py”,第2行,在
时间=(原始时间.strftime(“%m-%d-%Y”))
AttributeError:“str”对象没有属性“strftime”
您不能对字符串使用strftime
,因为它不是字符串的方法,一种方法是使用模块:
现在,您可以使用以下任一字符串格式:
>>> "{}/{}/{}".format(d.month,d.day,d.year)
'6/9/2013'
或:
但是去掉前导零更痛苦。。。如果你需要,用另一个答案
你想要什么也不清楚,因为你的标题说了一件事(和你的格式字符串),但它与你在问题中所说的是你的预期输出不匹配
import time
orig_time="2013-06-09 00:00:00"
Time= time.strftime(orig_time, '%m-%d-%Y')
print Time
如果愿意,您可以根据需要更改“d-m-y”,也可以使用静态时间。稍微偏离主题,但约定是:小写字母表示变量名,大写字母表示类/类型名。另外,已经有一个名为
time
的模块,所以像格式化\u-time
这样的模块会更好。(而不是Time
)一般来说,当SO以青色或蓝色突出显示某个变量名时,它可能不是一个好的变量名。(SO的自动格式化程序可能错误地认为它是stdlib模块/内置/关键字,但人类读者可能会因为与SO完全相同的原因而被误导…)您是否尝试过这个?这是行不通的。如果你要解决这个问题,它将与Ashwini Chaudhary或Joran Beasley的一样。
>>> "{}/{}/{}".format(d.month,d.day,d.year)
'6/9/2013'
>>> d.strftime('%m-%d-%Y')
'06-09-2013'
>>> import time
>>> time.strftime("%m-%d-%y",time.strptime("2013-06-09 00:00:00","%Y-%m-%d %H:%M:%S"))
'06-09-13'
import time
orig_time="2013-06-09 00:00:00"
Time= time.strftime(orig_time, '%m-%d-%Y')
print Time
import time
now1 = time.strftime("%d-%m-%y", time.localtime())
print(now1)