37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
import datetime
|
|
import argparse
|
|
|
|
# Get the range from the console:
|
|
parser = argparse.ArgumentParser(description = "Generates comma-separated date strings in a given range.")
|
|
parser.add_argument(
|
|
"-s", "--start-date",
|
|
dest = "start_date",
|
|
type = str,
|
|
help = "The starting date of the range in 'YYYY-MM-DD' format."
|
|
)
|
|
parser.add_argument(
|
|
"-e", "--end-date",
|
|
dest = "end_date",
|
|
type = str,
|
|
help = "The ending date of the range in 'YYYY-MM-DD' format."
|
|
)
|
|
args = parser.parse_args()
|
|
|
|
# Convert the date strings into datetime objects:
|
|
start_dt = datetime.datetime.strptime(args.start_date, "%Y-%m-%d")
|
|
end_dt = datetime.datetime.strptime(args.end_date, "%Y-%m-%d")
|
|
|
|
# Check if the end date is after the start date:
|
|
if end_dt < start_dt: raise ValueError("End date must be after the start date.")
|
|
|
|
# Make the list of dates:
|
|
date_list = []
|
|
while True:
|
|
this_dt = start_dt + datetime.timedelta(days = len(date_list))
|
|
date_list.append(this_dt.strftime("%Y-%m-%d"))
|
|
if this_dt >= end_dt: break
|
|
|
|
# Print the list out as one string:
|
|
print("HERE IS THE DATE STRING:")
|
|
print(",".join(date_list))
|