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

上一篇下一篇

猜你喜欢

热点阅读