有没有什么直接的方法可以将 ctime 值转换为 '%m/%d/%Y %H:%M:%S' 格式?
例如,将“Wed Nov 6 15:43:54 2013”转换为“11/06/2013 15:43:54”
我尝试了以下但没有给我我想要的格式,即“11/06/2013 15:43:54”:
>>> t = time.ctime()
>>> f = datetime.datetime.strptime(t, '%a %b %d %H:%M:%S %Y')
>>> print f
2013-11-06 15:43:54
但是如果我直接将它传递给 time.strftime,它将需要 9 项序列:
>>> n = time.strftime(t, '%D %H:%M:%S')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: argument must be 9-item sequence, not str
最佳答案
在您的示例中,您可以只使用 datetime.now
:
from datetime import datetime
d = datetime.now()
d.strftime('%m/%d/%Y %H:%M:%S')
Out[7]: '11/06/2013 18:59:38'
但。如果您从其他地方接收
ctime
样式字符串,请使用 datetime.strptime
对其进行解析,然后使用日期时间的 strftime
(而不是 time
)以您想要的方式对其进行格式化。from datetime import datetime
import time
d = datetime.strptime(time.ctime(),"%a %b %d %H:%M:%S %Y")
d.strftime('%m/%d/%Y %H:%M:%S')
Out[9]: '11/06/2013 19:01:11'
关于Python - 如何将 ctime 转换为 '%m/%d/%Y %H:%M:%S',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19825330/