3

我正在尝试使用下面的代码将日期转换为一种很好的格式并运行到以下错误..任何人都可以提供有关如何在此处克服的输入吗?

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
4

2 回答 2

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)
于 2013-08-10T05:36:14.593 回答
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'
于 2013-08-10T05:37:06.223 回答