Обычно отсчет времени начинается за 100 дней до события, возможно, из-за нашей базовой системы 10. Примеры этого можно найти везде:
- 100 дней до твоего дня рождения
- 100 дней до свадьбы
- 100 дней до выборов
- 100 дней до нашего выпуска
- 100 дней до ее срока
- 100 дней до футбольного сезона
- 100 дней, пока вы не получите значок Fanatic
Вы получаете картину. Кажется, что 100-й день до события занимает второе место только после фактического события. Итак, для этой задачи мне нужно знать, какой будет дата через 100 дней, чтобы я мог определить, с чего мне тоже начать обратный отсчет.
вход
Нет ввода
Выход
Дата 100 дней от текущей даты на основе стандартного григорианского календаря (обязательно учитывайте високосные годы). Выход гибок, пока формат дата люди чтение в состоянии (например 2016-10-8
, 10-8-16
, [ 2016, 10, 8 ]
, 10/8/16 12:00:00 AM
).
выигрыш
Код гольф: самый короткий код в байтах
Примеры
100 дней с сегодняшнего дня (5 апреля 2017 г.) - пятница, 14 июля 2017 г.
Current Future
------- ------
01/01/2001 +100 04/11/2001
01/01/2004 +100 04/10/2004
01/01/1900 +100 04/11/1900
01/01/2000 +100 04/10/2000
07/04/2017 +100 10/12/2017
10/31/2017 +100 02/08/2018
12/25/2017 +100 04/04/2018
08/29/1941 +100 12/07/1941
06/03/2001 +100 09/11/2001
Ответы:
Excel, 10
демонстрация
источник
=TODAY()+100
или=TEXT(NOW()+100,"MM/dd/yyyy")
Баш,
1716151413 байтОказывается,
date
команда принимает довольно гибкий ввод для относительного времени. Вы также можете сделать вещи , как1 year
,1 week ago
,yesterday
и т.д. Это очень здорово.-1 байт, понимая, что bash не заботится о грамматике.
-1 байт, потому что пробел между
100
иday
не нужен.-1 байт, потому что мне больше не нужны кавычки, потому что у меня нет пробела в строке.
-1 байт, удалив пробел после
-d
(спасибо только ASCII!)источник
-d
PowerShell, 10 байт
Спасибо ConnorLSW за трюк + 1e2.
Похоже, что двойники (
1e2
это двойные) также добавляются как дни.Предыдущая версия, 12 байт:
Видимо, вы можете добавить строки к датам в PowerShell. Строка
"100"
конвертируется в 100 днейTimeSpan
.источник
(date)+100
не работает, то(date)+1e2
делает ... Я предполагаю , что1e2
это на самом деле вdouble
то время как100
это число , пока он не компилируется, то есть вы не можете позвонить ,100.GetType()
но вы можете1e2.GetType()
- вот -2 и приводит нас к ничья с Excel!100
, рассматривается как добавление 100 тиков, где в качестве строки"100"
берется число дней. Оба действительны PS, но только один делает то, что нам нужно.1e6
все еще число и добавляется как дни, хотя?Mediawiki, 19 байт
Вы можете попробовать это с песочницей Википедии
источник
PHP, 28 байт
версия для чтения человеком, 35 байт:
почти читаемый, 34 байта:
-4 байта, если также печатается время: замените
Y_m_d
наr
илиc
.Это национальный праздник во Франции через 100 дней.
источник
E_NOTICE
и вы узнаете:Y_m_d
это неопределенная константа, а PHP принимает строку. Это работает с любым допустимым словом (включая все имена функций), кроме ключевых слов , предопределенных констант и без учета регистраtrue
,false
иnull
.Рубин , 16 байт
Попробуйте онлайн!
источник
864e4
и8640000
я даже не знаю , почему. Я обвиняю TIO. РЕДАКТИРОВАТЬ: когда вы используетеp
, два значения дают разные результаты. Но когда вы используетеputs
, они одинаковы.p Time.now+864e4
около 4 дней позадиp Time.now+8640000
на TIO. Я пробовал это несколько раз. Однако, если вы используетеputs
, это различие не существует. Я действительно не знаю, имеет ли значение моя локаль, Восток США должен быть вполне нормальным: PI, думаю, я попробую запустить его на своем ПК, когда вернусь домой.Javascript,
292625 байтСохранено 3 байта благодаря @ ASCII-only!
Сохранено 1 байт благодаря @JohanKarlsson
источник
864e7
вместо864*10e6
+new Date
вместоDate.now()
console.log
SQL (PostgreSQL), 19 байт
источник
Vim, 27 байт
попробуйте это онлайн!
Редактировать: Удален ненужный пробел.
источник
date
, то на этой странице выdate -d100day
не уверены, поможет ли это, хотя:r!date +\%F -d100day
этим также работает (по крайней мере, на моем ПК (C)), но это то же самое, чтоHyperNeutrino
уже используется в Bash.MATL , 9 байт
Выходной формат
15-Jul-2017
(который я считаю наиболее читабельным). Перейдите1XO
на,2XO
чтобы получить формат, используемый в примерах07/15/17
.Попробуйте онлайн!
объяснение
источник
SQL (Microsoft),
3531 байтисточник
d
вместоDAY
и удалить пробелы внутриDATEADD
.d
. Я используюdd
илиday
на практике. Я просто попробовал, и это сработало.Java 8,
77, 61 байтПопробуйте онлайн!
источник
()->java.time.LocalDate.now().plusDays(100)
.C #,
10397 байтСпасибо разнагул за сохранение 6 байтов!
Полная программа, которая читает текущую дату, добавляет 100 дней и отображает результат в
M/d/YYYY
формате.Вы можете изменить формат даты, добавив еще несколько байтов:
Для устранения стандартного кода - точно не известно, что C # очень компактен - можно использовать анонимную функцию:
C # лямбда,
4943 байтаПолная программа:
источник
Console.Write
..ToString("d")
вместо.ToShortDateString()
.Noodel , 8 байт
Попытайся:)
Как это работает
источник
Mathematica,
2621 байт-5 байт благодаря @KiranLinsuain!
Если время разрешено, то мы можем сэкономить 2 байта:
источник
C
874644 байтовсэкономил 2 байта благодаря Альберту Реншоу
Я понял, что вывод достаточно гибкий, чтобы учесть день недели и время, поэтому нет необходимости использовать его
localtime
илиtm
структуру.Старый ответ
Основано на ответе Халеда. , но вместо того, чтобы возиться со
tm
структурой, кtime_t
значению добавляется число секунд, эквивалентное 100 дням . Он также печатает только дату, без времени или дня недели.Как и должно быть в программе для гольфа, при компиляции генерируются некрасивые предупреждения.
Попробуйте онлайн!
Ungolfed:
источник
8640000
на864e4
JavaScript, 42 байта
источник
IBM / Lotus Notes Formula, 29 байт
К сожалению,
@Adjust
требует отставания0's
для пропавших без вестиhh:mm:ss
.Если бы нам было позволено также отображать время, то при переходе
@Today
на@Now
2 было бы сэкономлено 2 байта.источник
JavaScript (ES6), 44 байта
25 байтов, если приемлемо возвращение даты со временем:
источник
30 байт
Mysql!
SQLite
источник
F # (53 байта)
источник
Swift 3, 39 байт
источник
import foundation;
. Swift работает только на iOS, и он автоматически импортируется туда.C
120113 байтовLive Demo
источник
#include ...
шаблон при отправке функций. (Java-ответы, например,import
в этом случае не нужны )java.lang.*
, например, как мы не учитываемstdio.h
иstdlib.h
в C. Но даже в java вам нужно либо учитывать пользовательский импорт, либо указывать путь в имени класса, напримерjava.util.Date
, и это засчитывается в ваш счет.printf()
будетputs()
работать?PowerShell, 23
Это моя первая попытка, поэтому, пожалуйста, дайте мне конструктивный отзыв. Благодарность!
источник
R (REPL), 14 байтов
Попробуйте это на Ideone .
источник
Python, 63 байта
Очень простое решение на самом деле. Поскольку
datetime.now()
результат совпадаетtype
с результатомtimedelta
, он счастливо складывает их вместе.источник
lambda:
и это все равно будет полная программа.print
должен быть добавлен, и это делает его таким же количеством байтов.print
чтобы сохранить 1 байтdays=
не является обязательным, что позволит сэкономить 5 + 1 байт (python2print
скобки «s)from datetime import*;print datetime.now()+timedelta(100)
JavaScript, 38 байт
Немного короче, чем ASCII-только ответ .
источник
Голанг, 58 байт
Полная программа
попробуйте это онлайн!
источник
Oracle, 34 байта
источник
Питон 2 + Панды 0.19.1,
5651 байтисточник