python-checkio/ElectronicStation/date-and-time-converter.py

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!")