Сентябрь 1993 года известен в Usenet как сентябрь, который никогда не заканчивался. Так, например, день, когда этот вопрос публикуется, - суббота, сентябрь 8740, 1993.
Ваша программа или функция должны принимать любую григорианскую дату (с положительным годом) в качестве входных данных и возвращать ту же дату, что и выходные данные, если она предшествует сентябрю 1993 года, или дату в календаре сентября 1993 года, если после этого.
Вы можете принять ГГГГ-ММ-ДД, ГГГГ / ММ / ДД, ММ / ДД / ГГГГ, ДД / ММ / ГГГГ, D-Месяц_абр-ГГГГ или любой другой популярный формат, использующий весь год (в отличие от год по модулю 100). Вам нужно только принять один такой формат, по вашему выбору. Выходной формат должен соответствовать входному формату.
Пример ввода → вывод:
- Воскресенье, 6 августа 2017 года → воскресенье, 8741 сентября 1993 года
- Вторник, 28 января 1986 года → Вторник, 28 января 1986 года
Или:
- 2017-08-06 → 1993-09-8741
- 1986-01-28 → 1986-01-28
В интересах более интересных ответов использование встроенной функции, предназначенной для этой цели (такой как команда UN * X sdate
), запрещено. Помимо этого и стандартных исключений , это гольф, поэтому выигрывает самый короткий ответ.
Ответы:
JavaScript (ES6), 48 байт
Основано на алгоритме @ Mr.Xcoder.
источник
Python 3 , 109 байт
Попробуйте онлайн!
-59 байтов благодаря notjagan
-3 байта благодаря Mr. Xcoder
-2 байта благодаря officialaimm
-12 байтов благодаря Джонатану Аллану
источник
-8644+1
может быть-8643
..z>9
иначе, вы теряете ведущий ноль в день.Mathematica, 55 байт
I / O
-6 байт спасибо пользователю 202729
источник
{1993,9,1}
на один день назад, чтобы удалить+1
2 байта?{1993,9,0}
, разрешено ли.Perl 5 , 102 + 16 (-MTime :: Local -F-) = 118 байт
Попробуйте онлайн!
Принимает дату как «ГГГГ-ММ-ДД»
Я думаю, что я правильно посчитал параметры командной строки. Я уверен, что кто-то исправит меня, если я этого не сделаю.
источник
C # (.NET Core) , 107 байт
Попробуйте онлайн!
Принимает даты как M / D / YYYY (числа ниже 10 написаны только с 1 цифрой). Написано с моего мобильного телефона с использованием API наизусть.
источник
Gaia , 78 байт
Попробуйте онлайн!
объяснение
Во-первых, у нас есть вспомогательная функция, которая определяет, является ли год високосным.
Основная функция выполняет остальную часть работы:
источник