我正在尝试使用以下代码将日期转换为漂亮的格式并运行以下错误..有人提供有关如何克服的输入吗?
from datetime import datetime
d = datetime.fromtimestamp(1372058963)
print d
create_date = datetime.strptime(str(d), '%Y-%m-%d %H:%M:%S')
print create_date
gerrit_created_date = "{}/{}/{}".format(create_date.month,create_date.day,create_date.year)
print gerrit_created_date
错误: -
File "test.py", line 7, in <module>
gerrit_created_date = "{}/{}/{}".format(create_date.month,create_date.day,create_date.year)
ValueError: zero length field name in format
答案 0 :(得分:5)
也许你正在使用Python 2.6。指定字段编号。
gerrit_created_date = "{0}/{1}/{2}".format(create_date.month,create_date.day,create_date.year)
您可以使用strftime风格的格式。
gerrit_created_date = "{0:%m/%d/%Y}".format(create_date)
获取小时,分钟,秒:
gerrit_created_date = "{0:%m/%d/%Y %H:%M:%S}".format(create_date)
答案 1 :(得分:4)
更好地使用datetime.strftime
:
>>> d = datetime.fromtimestamp(1372058963)
>>> datetime.strftime(d, '%m/%d/%Y')
'06/24/2013'
>>> datetime.strftime(d, '%m/%d/%Y %H:%M:%S')
'06/24/2013 12:59:23'