在Python中,我们可以通过以下方式将日期转换为字符串:
>>> import datetime
>>> datetime.date(2002, 12,4).isoformat()
'2002-12-04'
我们如何将输出格式化为' 20021204',即没有破折号?
有两个功能,但我不知道如何指定格式:
date.strftime(format)
返回表示日期的字符串, 由显式格式字符串控制。格式代码参考 小时,分钟或秒将看到0值。有关的完整列表 格式化指令,请参阅strftime()
和strptime()
行为部分。
和
date.__format__(format)
与date.strftime()
相同。这样做 可以在使用时指定日期对象的格式字符串str.format()
。请参阅strftime()
和strptime()
行为部分。
答案 0 :(得分:12)
您使用的工具错误,请使用strftime
>>> datetime.date(2002, 12,4).strftime("%Y%m%d")
'20021204'
有关使用strftime和strptime的详细信息,请参阅strftime() and strptime() Behavior
对于您的具体情况,我将引用相关的摘录
或者,您可以随时删除或替换isoformat
>>> str(datetime.date(2002, 12,4)).translate(None,'-')
'20021204'
答案 1 :(得分:4)
您可以使用'%m%d%Y
作为格式:
>>> d=datetime.date(2002, 12,4)
>>> d.strftime('%m%d%Y')
'12042002'
或者在您的第一个代码中,您可以使用str.replace
:
>>> datetime.date(2002, 12,4).isoformat().replace('-','')
'20021204'