Входные данные:
А Дата (содержащий dd
, MM
и yyyy
). Объект даты или три отдельных целых числа также допустимы в качестве входных данных.
Выход:
Каждая часть ( dd
, MM
а yyyy
) индивидуально вернулся и чем округлены до ближайшей действительной даты.
Например (в формате dd-MM-yyyy
):
21-10-2016
становится12-01-6102
Правила соревнований:
- Только
dd
,MM
,yyyy
действительно, но порядок и какие отдельные-символы , которые вы используете ваш собственный выбор.
Так вот некоторые действительные примеры формата:dd-MM-yyyy
;MM/dd/yyyy
;yyyy MM dd
;ddMMyyyy
И т.д.
И это лишь некоторые примеры недопустимого формата:dd MMM yyyy
;dd-MM-'yy
; и т.п. - Вы также можете просто ввести объект Date, если ваш язык поддерживает его, или три отдельных целочисленных параметра вместо строки, представляющей дату.
- Пожалуйста, укажите, какой формат даты вы использовали! (И вход, и выход должны быть в одном и том же формате.) Также разрешено выводить объект Date, при условии, что он может обрабатывать все тестовые случаи и приведенное ниже правило вызова.
- Переход от юлианского к григорианскому календарю в этом вызове игнорируется. Так что
1582
это просто действительный перевернутый год для2851
.
См. Информацию о вызовах / советы для всех действительных лет, месяцев и дней. - Поскольку вы не можете иметь февраль как противоположный любому другому месяцу, вам не нужно беспокоиться о високосных годах.
Все обратные годы, месяцы и дни:
- Год всегда можно без проблем поменять местами , начиная с 0001 (перевернутый
1000
) до 9999 (остаётся9999
). (0000
Это неверный ввод, и для него также нет тестов). - Единственные месяцы, которые вы изменили, это: январь (в обратном порядке с октября /
10
); Октябрь (в обратном порядке с января /01
); Ноябрь (остается ноябрь /11
); и декабрь (в обратном порядке через месяц /02
-09
,12
). - Единственные дни, которые вы изменили: 01 (обратный от
10
), 02 (обратный от20
), 03 (обратный от30
), 10 (обратный от01
), 11 (остающийся11
), 12 (обратный от21
), 13 (обратный от31
) , 20 (перевернуто с02
), 21 (перевернуто с12
), 22 (осталось22
), 30 (перевернуто с03
или аналогично 31 за ноябрь!), 31 (перевернуто с04
-09
/13
-19
/23
-29
).
Основные правила:
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Не позволяйте языкам кода-гольфа отговаривать вас от публикации ответов на языках, не относящихся к кодексу. Попробуйте придумать как можно более короткий ответ для «любого» языка программирования. - К вашему ответу применяются стандартные правила , поэтому вы можете использовать STDIN / STDOUT, функции / метод с соответствующими параметрами и оператором возврата / вывода, полные программы. Ваш звонок.
- По умолчанию лазейки запрещены.
- Если возможно, добавьте ссылку с тестом для вашего кода.
- Также, пожалуйста, добавьте объяснение, если это необходимо.
Тестовые случаи ( dd-MM-yyyy
как формат):
21-07-2016 -> 12-12-6102
12-11-1991 -> 21-11-1991
01-01-2000 -> 10-10-0002
27-08-1875 -> 31-12-5781
18-12-2010 -> 31-12-0102
13-01-1981 -> 31-10-1891
04-11-1671 -> 30-11-1761 // Semi-tricky case, since November has 30 days
28-11-2036 -> 30-11-6302 // Semi-tricky case, since November has 30 days
14-06-1855 -> 31-12-5581
30-10-9999 -> 03-01-9999
01-01-2851 -> 10-10-1582
70
, с возрастом.
10-10-2
действительный вывод в третьем случае?
21-07-2016
возвращается,12-70-6102
округляется до12-12-6102
. Не уверен, как вы получите результат##-10-6107
..