Untitled
unknown
python
a year ago
1.5 kB
10
Indexable
months = [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
]
def iso8601():
while True:
date = input("Date: ")
if "/" in date:
try:
month, day, year = date.split('/')
month = int(month)
day = int(day)
year = int(year)
if (1 <= month <= 12) and (1 <= day <= 31):
break
else:
raise ValueError
except ValueError:
pass
elif "," in date:
try:
part1 = date.replace(',', ' ')
part2 = part1.strip()
mmddyyyy = part2.split()
if len(mmddyyyy) == 3:
month_str, day, year = mmddyyyy
if month_str in months:
month = months.index(month_str) + 1
day = int(day)
year = int(year)
if 1 <= day <= 31:
break
else:
raise ValueError
else:
raise ValueError
except ValueError:
pass
else:
pass
return f"{year}-{month:02}-{day:02}"
print(iso8601())
Editor is loading...
Leave a Comment