Напишіть функцію, яка приймає дату і повертає день тижня наступного 29 лютого після цієї дати.
Вхід - це рядок у розширеному форматі ISO: РРРР-ММ-DD (наприклад, 27 травня 2010 року буде "2010-05-27").
Вихід - це рядок, який називає день тижня (наприклад, "понеділок"). Капіталізація не має значення, але вказуйте повну назву англійською мовою.
Якщо дана дата - 29 лютого, поверніть день тижня наступного 29 лютого.
Використовуйте обчислення для пролептичного григоріанського календаря (так, він використовує підрахунки григоріанського високосного року на всю його довжину). Не хвилюйтеся з приводу Юліанського календаря або коли відбувся перехід з Джуліана на Григоріанський. Просто припустимо, що Григоріан для всього.
Функція повинна працювати принаймні в діапазоні "0001-01-01" - "2100-01-01".
Не соромтеся використовувати будь-які стандартні бібліотеки, які надає ваша обрана мова, але не використовуйте сторонні бібліотеки, якщо ви не хочете включити цей код як частину свого рішення.
Виграє найкоротший код (найменше символів).
Приклади:
func("0001-01-01")
->"Sunday"
func("1899-12-03")
->"Monday"
func("1970-01-01")
->"Tuesday"
func("1999-07-06")
->"Tuesday"
func("2003-05-22")
->"Sunday"
func("2011-02-17")
->"Wednesday"
func("2100-01-01")
->"Friday"
(і ні, вам не потрібно називати функцію func
)
Підказки:
- Пам'ятайте, що роки, що закінчуються на 00, які не можна розділити на 400, не є високосними.
- 1 січня 0001 - понеділок.