使用Arrow生成一段连续的日期时间
2017-03-11 本文已影响64人
刀尖红叶
日常工作中经常需要按天分表生成某一年的全部表,如下:
table_20150101
table_20150102
......
......
table_20151231
虽然Python自带的datetime能完成这样的工作,但datetime使用不太简洁直观,可能需要如下的代码:
#!/usr/bin/env python3
import datetime
dt = datetime.date(2015,1,1)
end = datetime.date(2015,12,31)
step = datetime.timedelta(days=1)
while dt < end:
print(dt.strftime('%Y-%m-%d'))
dt += step
而Arrow这个第三方模块就能很方便的实现上诉场景,如下:
#!/usr/bin/env python3
import arrow
start = arrow.get('2015-01-01','YYYY-MM-DD')
end = arrow.get('2015-12-31','YYYY-MM-DD')
for dt in arrow.Arrow.range('day', start, end):
print(dt.format('YYYYMMDD'))
以上只是Arrow的一个小例子,但能感受到确实比datetime, time, calendar, dateutil等这些日期时间模块都方便,强烈推荐它!更多用法可以到软件主页去看。