【发布时间】:2012-03-02 21:18:12
【问题描述】:
我正在尝试在我的函数中更改 strptime 和 datetime 的默认输出格式:
def start_week_date(year, week):
format_string = "%i %i 1" % (int(year),int(week))
start = time.strptime(format_string, '%Y %W %w')
print datetime.date(start.tm_year, start.tm_mon, start.tm_mday)
return datetime.date(start.tm_year, start.tm_mon, start.tm_mday)
其中的输出正在传递给另一个:
for date_oncall in date_range(start_week_date(year,week), start_week_date(year,week+1)):
print date_oncall
def date_range(start_date, end_date):
"""Generator of dates in between"""
if start_date > end_date:
raise ValueError("Start date is before end date.")
while True:
yield start_date
start_date = start_date + datetime.timedelta(days=1)
if start_date >= end_date:
break
有没有一种优雅的方法来更改默认格式,所以如果一个月或一个月中的某天小于 10,它在开始时不会得到“0”? 基本上,我想得到 '3-5-2012' 而不是 '03-05-2012'。
非常感谢您的任何建议。
问候, 雅库布
【问题讨论】:
-
看起来这应该回答你的问题。 stackoverflow.com/questions/2309828/…
-
嗨,Dan,感谢您的提示 - 我之前没有找到该线程。 J.