【发布时间】:2016-05-03 06:33:02
【问题描述】:
我使用的 API 要求日期输入以 'YYYY-MM-DD' 的形式出现 - 是的,这是一个字符串。
我正在尝试编写一个迭代程序,该程序将循环遍历一些时间数据。间隔总是一个月。
有没有一种将 Python 日期对象转换为给定格式的好方法?我考虑将年、月和日视为整数输入并根据需要增加值,但这相当不雅,需要大量的if\elif\...\else 编程。
【问题讨论】:
我使用的 API 要求日期输入以 'YYYY-MM-DD' 的形式出现 - 是的,这是一个字符串。
我正在尝试编写一个迭代程序,该程序将循环遍历一些时间数据。间隔总是一个月。
有没有一种将 Python 日期对象转换为给定格式的好方法?我考虑将年、月和日视为整数输入并根据需要增加值,但这相当不雅,需要大量的if\elif\...\else 编程。
【问题讨论】:
使用日期时间对象的strftime()函数:
import datetime
now = datetime.datetime.now()
date_string = now.strftime('%Y-%m-%d')
print(date_string)
输出
'2016-01-26'
【讨论】:
是的,已经有一个模块可以处理这个问题。见
https://docs.python.org/2/library/datetime.html
具体来说,
date.isoformat()
返回一个以 ISO 8601 格式表示日期的字符串,“YYYY-MM-DD”。
例如,date(2002, 12, 4).isoformat() == '2002-12-04'。
【讨论】: