36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
|
def date_time(time: str) -> str:
|
||
|
[date, time] = time.split(" ")
|
||
|
return "{} {}".format(parse_date(date), parse_time(time))
|
||
|
|
||
|
|
||
|
def parse_date(date: str) -> str:
|
||
|
MONTHS = [
|
||
|
"", "January", "February", "March", "April",
|
||
|
"May", "June", "July", "August", "September",
|
||
|
"October", "November", "December"
|
||
|
]
|
||
|
[day, month, year] = date.split(".")
|
||
|
day = int(day)
|
||
|
return "{} {} {} year".format(int(day), MONTHS[int(month)], year)
|
||
|
|
||
|
|
||
|
def parse_time(time: str) -> str:
|
||
|
[hours, minutes] = time.split(":")
|
||
|
return "{} hour{} {} minute{}".format(
|
||
|
int(hours),
|
||
|
"s" if int(hours) != 1 else "",
|
||
|
int(minutes),
|
||
|
"s" if int(minutes) != 1 else ""
|
||
|
)
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
print("Example:")
|
||
|
print(date_time('01.01.2000 00:00'))
|
||
|
|
||
|
# These "asserts" using only for self-checking and not necessary for auto-testing
|
||
|
assert date_time("01.01.2000 00:00") == "1 January 2000 year 0 hours 0 minutes", "Millenium"
|
||
|
assert date_time("09.05.1945 06:30") == "9 May 1945 year 6 hours 30 minutes", "Victory"
|
||
|
assert date_time("20.11.1990 03:55") == "20 November 1990 year 3 hours 55 minutes", "Somebody was born"
|
||
|
print("Coding complete? Click 'Check' to earn cool rewards!")
|