Вхід:
А Дата (у якому 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..