Adalah umum untuk memulai hitung mundur 100 hari sebelum acara, mungkin karena sistem basis 10 kami. Contoh-contoh ini dapat ditemukan di mana-mana:
- 100 hari hingga ulang tahun Anda
- 100 hari sampai pernikahan
- 100 hari hingga pemilihan
- 100 hari sampai kelulusan kita
- 100 hari sampai batas waktunya
- 100 hari hingga musim sepak bola
- 100 hari sampai Anda mendapatkan lencana Fanatic
Anda mendapatkan fotonya. Tampaknya hari ke-100 sebelum sebuah acara adalah tempat kedua hanya untuk acara yang sebenarnya. Jadi untuk tantangan ini, saya perlu tahu tanggal berapa dalam 100 hari, sehingga saya dapat menentukan apa yang harus saya mulai menghitung mundur juga.
Memasukkan
Tidak ada input
Keluaran
Tanggal 100 hari dari tanggal saat ini berdasarkan pada Kalender Gregorian standar (Pastikan untuk menghitung tahun kabisat). Output fleksibel selama format tanggal adalah manusia read-mampu (misalnya 2016-10-8
, 10-8-16
, [ 2016, 10, 8 ]
, 10/8/16 12:00:00 AM
).
Kemenangan
Golf kode: kode terpendek dalam byte
Contohnya
100 hari dari hari ini (5 Apr 2017) adalah Jumat, 14 Juli 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
Jawaban:
Excel, 10
Demonstrasi
sumber
=TODAY()+100
atau=TEXT(NOW()+100,"MM/dd/yyyy")
Bash,
1716151413 byteTernyata
date
perintah tersebut mengambil beberapa input yang cukup fleksibel untuk pengaturan waktu relatif. Anda juga dapat melakukan hal-hal seperti1 year
,1 week ago
,yesterday
, dll Ini cukup keren.-1 byte dengan menyadari bahwa bash tidak peduli dengan tata bahasa.
-1 byte karena jarak antar
100
danday
tidak perlu.-1 byte karena saya tidak perlu tanda kutip lagi karena saya tidak punya spasi di string.
-1 byte dengan menghapus spasi sesudahnya
-d
(hanya untuk ASCII!)sumber
-d
PowerShell, 10 byte
Terima kasih kepada ConnorLSW untuk trik +1e2.
Tampaknya dobel (
1e2
adalah dobel) juga ditambahkan sebagai hari.Versi sebelumnya, 12 byte:
Tampaknya Anda dapat menambahkan string ke tanggal di PowerShell. String
"100"
diubah menjadi 100 hari-TimeSpan
.sumber
(date)+100
tidak berhasil,(date)+1e2
apakah ... Saya kira1e2
sebenarnya adalahdouble
sementara100
sampai nomor itu dikompilasi, yaitu Anda tidak bisa menelepon100.GetType()
tetapi Anda bisa1e2.GetType()
- itu -2 dan membawa kita ke hasil imbang dengan Excel!100
dilihat sebagai menambahkan 100 ticks di mana string"100"
diambil sebagai hari. Keduanya PS yang valid tetapi hanya satu yang melakukan apa yang kita butuhkan.1e6
masih berupa angka dan ditambahkan sebagai hari?Mediawiki, 19bytes
Anda dapat mencobanya dengan sandbox wikipedia
sumber
PHP, 28 byte
versi yang dapat dibaca manusia, 35 byte:
hampir terbaca, 34 byte:
-4 byte jika pencetakan waktu diterima: ganti
Y_m_d
denganr
atauc
.Ini Libur Nasional di Prancis dalam 100 hari.
sumber
E_NOTICE
dan Anda akan tahu:Y_m_d
adalah konstanta yang tidak terdefinisi dan PHP mengasumsikan sebuah string. Ini berfungsi dengan kata apa pun yang valid (termasuk semua nama fungsi) selain dari kata kunci , konstanta yang telah ditentukan dan case-sensitivetrue
,false
dannull
.Ruby , 16 byte
Cobalah online!
sumber
864e4
dan8640000
dan saya tidak tahu mengapa. Saya menyalahkan TIO. Sunting: ketika Anda menggunakanp
, kedua nilai menghasilkan hasil yang berbeda. Tetapi ketika Anda menggunakanputs
, mereka sama.p Time.now+864e4
sekitar 4 hari di belakangp Time.now+8640000
di TIO. Saya mencobanya beberapa kali. Namun, jika Anda menggunakanputs
, perbedaan ini tidak ada. Saya tidak benar-benar tahu apakah masalah lokal saya, US East seharusnya cukup normal: PI kira saya akan mencoba menjalankannya di PC saya sendiri ketika saya pulang.Javascript,
292625 byteDisimpan 3 byte berkat hanya @ ASCII!
Disimpan 1 byte berkat @JohanKarlsson
sumber
864e7
sebagai gantinya864*10e6
+new Date
bukanDate.now()
console.log
SQL (PostgreSQL), 19 Bytes
sumber
Vim, 27 byte
coba online!
Sunting: Dihapus char space yang tidak perlu.
sumber
date
, yang ada di halaman ini adalahdate -d100day
, tidak yakin apakah itu akan membantu:r!date +\%F -d100day
ini juga berfungsi (setidaknya pada pc saya (C)), tetapi sama sepertiHyperNeutrino
sudah digunakan dalam bash.MATL , 9 byte
Format output adalah
15-Jul-2017
(yang menurut saya paling mudah dibaca). Ubah1XO
untuk2XO
mendapatkan format yang digunakan dalam contoh07/15/17
,.Cobalah online!
Penjelasan
sumber
SQL (Microsoft),
3531 bytesumber
d
bukannyaDAY
menghapus spasi di dalamnyaDATEADD
.d
. Saya menggunakandd
atauday
dalam praktek. Saya hanya mencobanya dan berhasil.Java 8,
77, 61 byteCobalah online!
sumber
()->java.time.LocalDate.now().plusDays(100)
.C #,
10397 byteThanks to raznagul for saving 6 bytes!
Full program which reads the current date, adds 100 days and displays the result in
M/d/YYYY
format.You can change the date format by adding a few more bytes:
To eliminate boilerplate code - C# isn't exactly known to be very compact - an anonymous function can be used:
C# lambda,
4943 bytesFull program:
sumber
Console.Write
..ToString("d")
instead of.ToShortDateString()
.Noodel, 8 bytes
Try it:)
How it works
sumber
Mathematica,
2621 bytes-5 bytes thanks to @KiranLinsuain!
If including the time is permitted, then we can save 2 bytes:
sumber
C,
874644 bytessaved 2 bytes thanks to Albert Renshaw
I realized the output is flexible enough to allow for day of week and time, so there's no need to use
localtime
or thetm
structure at all.Old answer
Based on Khaled.K's answer, but instead of messing with the
tm
structure, adds the number of seconds equivalent to 100 days directly to thetime_t
value. It also prints only the date, without time or day of week.As it should happen on a golfed program, some ugly warnings are generated on compilation.
Try it online!
Ungolfed:
sumber
8640000
with864e4
JavaScript, 42 bytes
sumber
IBM/Lotus Notes Formula, 29 bytes
Unfortunately
@Adjust
requires the trailing0's
for the missinghh:mm:ss
.If we were allowed to display the time as well then changing
@Today
to@Now
would save 2 bytes for 27.sumber
JavaScript (ES6), 44 bytes
25 bytes if returning a date with the time is acceptable:
sumber
30 bytes
Mysql!
SQLite
sumber
F# (53 bytes)
sumber
Swift 3, 39 bytes
sumber
import foundation;
. Swift runs just on iOS and that is auto imported there.C,
120113 bytesLive Demo
sumber
#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!
sumber
R (REPL), 14 bytes
Try it on Ideone.
sumber
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.sumber
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.
sumber
Golang, 58 bytes
Full Program
try it online!
sumber
Oracle, 34 bytes
sumber
Python 2 + Pandas 0.19.1,
5651 bytessumber