Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # coding:utf-8
- # 日期生成
- # 带上两个日期做为开始和结束日期,会生成从开始到结束的所有日期
- import re
- import sys
- import time
- import datetime
- date_1_str = sys.argv[1]
- date_2_str = sys.argv[2]
- date_format = '%Y%m%d' if \
- (re.match(r'^\d{8}$', date_1_str) and re.match(r'^\d{8}$', date_2_str)) else \
- '%Y-%m-%d' if \
- (re.match(r'^\d{4}-\d{1,2}-\d{1,2}$', date_1_str) and re.match(r'^\d{4}-\d{1,2}-\d{1,2}$', date_2_str)) else \
- ''
- if date_format:
- date_1 = datetime.datetime.strptime(date_1_str, date_format)
- date_2 = datetime.datetime.strptime(date_2_str, date_format)
- date_1_timestamp, date_2_timestamp = map(int, map(time.mktime, [date_1.timetuple(), date_2.timetuple()]))
- start_date, end_date = [i[1] for i in sorted([(date_1_timestamp, date_1), (date_2_timestamp, date_2)], key=lambda x:x[0])]
- for day in xrange((end_date - start_date).days + 1):
- print((start_date + datetime.timedelta(day)).strftime(date_format))
- else:
- print('Date Format: 2019-07-04 or 20190704')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement