На моем сайте пользователи вводят дату своего рождения в стиле xx.xx.xx- три двузначных числа, разделенных точками. К сожалению, я забыл сказать пользователям, какой именно формат использовать. Все, что я знаю, это то, что один раздел используется для месяца, один для даты и один для года. Год определенно наступил в 20 веке (1900-1999), так что формат 31.05.75означает 31 May 1975. Кроме того, я предполагаю, что все используют либо григорианский, либо юлианский календарь.
Теперь я хочу просмотреть свою базу данных, чтобы навести порядок. Я хотел бы начать с работы с пользователями с самыми неоднозначными датами, то есть с теми, где диапазон возможных дат является самым большим.
Например, дата 08.27.53означает 27 August 1953в григорианском или юлианском календаре. Дата в юлианском календаре - 13 дней спустя, поэтому диапазон просто 13 days.
Напротив, запись 01.05.12может относиться ко многим возможным датам. Самое раннее 12 May 1901 (Gregorian), а самое последнее 1 May 1912 (Julian). Диапазон есть 4020 days.
правила
- Ввод - это строка в формате
xx.xx.xx, где каждое поле состоит из двух цифр и дополняется нулями. - Выход - количество дней в диапазоне.
- Вы можете предположить, что ввод всегда будет действительной датой.
- Вы не можете использовать какие-либо встроенные функции даты или календаря.
- Самый короткий код (в байтах) выигрывает.
Testcases
01.00.31=>1229.00.02=>0(Единственная возможность29 February 1900 (Julian))04.30.00=>1306.12.15=>3291
5, May 1975должно быть31st? Кроме того, мы должны учитывать високосные годы?