使用Arrow生成一段连续的日期时间

日常工作中经常需要按天分表生成某一年的全部表,如下:

table_20150101
table_20150102
……
……
table_20151231

虽然Python自带的datetime能完成这样的工作,但有点繁琐,可能需要如下的代码:

import datetime
 
 dt = datetime.date(2015,1,1)
 end = datetime.date(2015,12,31)
 step = datetime.timedelta(days=1)
 
 result = []

 while dt < end:
 result.append(dt.strftime('%Y-%m-%d'))
 dt += step
 
 print(result)

Arrow这个第三方模块就能很方便的实现上诉场景,如下:

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等这些日期时间模块都方便,强烈推荐它!更多用法可以到软件主页去看。