Odliczanie zwykle rozpoczyna się 100 dni przed wydarzeniem, prawdopodobnie z powodu naszego podstawowego systemu 10. Przykłady tego można znaleźć wszędzie:
- 100 dni do twoich urodzin
- 100 dni do ślubu
- 100 dni do wyborów
- 100 dni do ukończenia szkoły
- 100 dni do jej terminu
- 100 dni do sezonu piłkarskiego
- 100 dni, aż otrzymasz odznakę Fanatyk
Dostajesz obraz. Wygląda na to, że 100. dzień przed wydarzeniem zajmuje drugie miejsce tylko w stosunku do faktycznego wydarzenia. Dlatego w przypadku tego wyzwania muszę wiedzieć, jaka będzie data za 100 dni, abym mógł ustalić, co powinienem zacząć odliczać.
Wkład
Brak wejścia
Wydajność
Data 100 dni od bieżącej daty na podstawie standardowego kalendarza gregoriańskiego (pamiętaj, aby uwzględnić lata przestępne). Wyjście jest elastyczny jak długo format daty jest człowiek zdolny do odczytu (np 2016-10-8
, 10-8-16
, [ 2016, 10, 8 ]
, 10/8/16 12:00:00 AM
).
Zwycięski
Code golf: najkrótszy kod w bajtach
Przykłady
100 dni od dzisiaj (5 kwietnia 2017 r.) To piątek, 14 lipca 2017 r.
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
Odpowiedzi:
Excel, 10
Demonstracja
źródło
=TODAY()+100
lub=TEXT(NOW()+100,"MM/dd/yyyy")
Bash,
1716151413 bajtówOkazuje się, że
date
polecenie pobiera dość elastyczne dane wejściowe dla względnych czasów. Można również robić takie rzeczy jak1 year
,1 week ago
,yesterday
, itd. To całkiem fajne.-1 bajt, wiedząc, że bash nie dba o gramatykę.
-1 bajt, ponieważ odstęp między
100
iday
jest niepotrzebny.-1 bajt, ponieważ nie potrzebuję już cudzysłowów, ponieważ nie mam spacji w ciągu.
-1 bajt przez usunięcie spacji po
-d
(dzięki tylko ASCII!)źródło
-d
PowerShell, 10 bajtów
Dzięki ConnorLSW za lewę + 1e2.
Wygląda na to, że podwójne (
1e2
to podwójne) są również dodawane jako dni.Poprzednia wersja, 12 bajtów:
Najwyraźniej możesz dodawać ciągi do dat w PowerShell. Ciąg
"100"
jest konwertowany na 100 dniTimeSpan
.źródło
(date)+100
nie działa,(date)+1e2
działa ... chyba1e2
faktycznie jestdouble
natomiast100
to numer, dopóki nie jest skompilowany, czyli nie można nazwać100.GetType()
, ale to tylko możliwe1e2.GetType()
- to -2 i prowadzi nas do remis z Excelem!100
jest postrzegane jako dodanie 100 tyknięć, gdzie jako ciąg"100"
jest brany za dni. Oba są prawidłowe PS, ale tylko jeden robi to, czego potrzebujemy.1e6
jest wciąż liczbą i jest dodawany w ciągu kilku dni?Mediawiki, 19 bajtów
Możesz spróbować z piaskownicą wikipedii
źródło
PHP, 28 bajtów
wersja czytelna dla człowieka, 35 bajtów:
prawie czytelne, 34 bajty:
-4 bajty czy też czas drukowania jest akceptowana zamienić
Y_m_d
zr
lubc
.To święto narodowe we Francji za 100 dni.
źródło
E_NOTICE
a dowiesz się:Y_m_d
jest niezdefiniowaną stałą, a PHP zakłada ciąg znaków. To działa z każdym ważnego słowa (w tym wszystkie nazwy funkcji) oprócz słów kluczowych , predefiniowane stałe i nie uwzględnia wielkości litertrue
,false
oraznull
.Rubinowy , 16 bajtów
Wypróbuj online!
źródło
864e4
a8640000
, a ja nie bardzo wiem dlaczego. Obwiniam TIO. EDYCJA: gdy używaszp
, dwie wartości dają inny wynik. Ale kiedy używaszputs
, są takie same.p Time.now+864e4
jest około 4 dni zap Time.now+8640000
TIO. Próbowałem wiele razy. Jeśli jednak użyjeszputs
, to rozróżnienie nie istnieje. Naprawdę nie wiem, czy moje ustawienia regionalne mają znaczenie, US East powinno być całkiem normalne: PI pewnie spróbuję uruchomić je na własnym komputerze, kiedy wrócę do domu.JavaScript,
292625 bajtówZaoszczędzono 3 bajty dzięki tylko @ ASCII!
Zapisano 1 bajt dzięki @JohanKarlsson
źródło
864e7
zamiast864*10e6
+new Date
zamiastDate.now()
console.log
SQL (PostgreSQL), 19 bajtów
źródło
Vim, 27 bajtów
spróbuj online!
Edycja: Usunięto niepotrzebne znaki miejsca.
źródło
date
, ta na tej stroniedate -d100day
nie jest pewna, czy to pomoże:r!date +\%F -d100day
tym, że działa również (przynajmniej na moim komputerze (C)), ale jest taki sam, jakHyperNeutrino
już używany w bash.MATL , 9 bajtów
Format wyjściowy to
15-Jul-2017
(który uważam za najbardziej czytelny). Zmienić1XO
, aby2XO
uzyskać format używany w przykładach07/15/17
.Wypróbuj online!
Wyjaśnienie
źródło
SQL (Microsoft),
3531 bajtówźródło
d
zamiastDAY
i usunąć spacje wewnątrzDATEADD
.d
. Używamdd
lubday
w praktyce. Właśnie spróbowałem i zadziałało.Java 8,
77, 61 bajtówWypróbuj online!
źródło
()->java.time.LocalDate.now().plusDays(100)
.C #,
10397 bajtówDzięki raznagul za oszczędność 6 bajtów!
Pełny program, który odczytuje bieżącą datę, dodaje 100 dni i wyświetla wynik w
M/d/YYYY
formacie.Możesz zmienić format daty, dodając kilka dodatkowych bajtów:
Aby wyeliminować kod typu Boiler - C # nie jest dokładnie znany z tego, że jest bardzo zwarty - można użyć anonimowej funkcji:
C # lambda,
4943 bajtówPełny program:
źródło
Console.Write
..ToString("d")
zamiast.ToShortDateString()
.Noodel , 8 bajtów
Spróbuj:)
Jak to działa
źródło
Mathematica,
2621 bajtów-5 bajtów dzięki @KiranLinsuain!
Jeśli uwzględnienie czasu jest dozwolone, możemy zapisać 2 bajty:
źródło
C,
874644 bajtówzaoszczędził 2 bajty dzięki Albertowi Renshawowi
Zdałem sobie sprawę, że wyjście jest wystarczająco elastyczne, aby pozwolić na dzień tygodnia i godzinę, więc nie ma potrzeby używania
localtime
anitm
struktury.Stara odpowiedź
Na podstawie odpowiedzi Khaled.K , ale zamiast zadzierać ze
tm
strukturą, dodaje liczbę sekund odpowiadającą 100 dniom bezpośrednio dotime_t
. Drukuje także tylko datę, bez godziny i dnia tygodnia.Jak powinno się zdarzyć w programie golfowym, podczas kompilacji generowane są brzydkie ostrzeżenia.
Wypróbuj online!
Nie golfowany:
źródło
8640000
z864e4
JavaScript, 42 bajty
źródło
Formuła IBM / Lotus Notes, 29 bajtów
Niestety
@Adjust
wymaga ciągnięcia0's
za zaginionymihh:mm:ss
.Gdybyśmy mogli również wyświetlić czas, zmiana
@Today
na@Now
oszczędziłaby 2 bajty na 27.źródło
JavaScript (ES6), 44 bajty
25 bajtów, jeśli zwracanie daty z czasem jest dopuszczalne:
źródło
30 bajtów
MySQL!
SQLite
źródło
F # (53 bajty)
źródło
Szybkie 3, 39 bajtów
źródło
import foundation;
. Swift działa tylko na iOS i jest tam automatycznie importowany.C,
120113 bajtówDemo na żywo
źródło
#include ...
boilerplate when submitting functions. (Java answers, for example, don't needimport
in that case)java.lang.*
, just like how we don't countstdio.h
andstdlib.h
in C. But even in java, you need to either consider custom imports or put the path in the class name likejava.util.Date
, and that counts in your score.printf()
wouldputs()
not also work?PowerShell, 23
This is my first ever try, so please give me constructive feedback. Thanks!
źródło
R (REPL), 14 bytes
Try it on Ideone.
źródło
Python, 63 bytes
Very simple solution really. Because the
datetime.now()
result is the sametype
as the result oftimedelta
, it happily adds the two together.źródło
lambda:
and it would still be a full program.print
would have to be added and that makes it the same number of bytes.print
to save 1 bytedays=
is optional, that would save 5+1 bytes (python2print
's brackets)from datetime import*;print datetime.now()+timedelta(100)
JavaScript, 38 Bytes
A little bit shorter than ASCII-only answer.
źródło
Golang, 58 bytes
Full Program
try it online!
źródło
Oracle, 34 bytes
źródło
Python 2 + Pandas 0.19.1,
5651 bytesźródło