Tantangan
Anehnya, ini belum dilakukan: output tanggal saat ini.
Aturan
Format tanggal yang harus Anda ikuti adalah sebagai berikut:
YYYY-MM-DD
Di mana bulan dan hari harus diisi dengan nol jika jumlahnya kurang dari 10.
Sebagai contoh, jika program dijalankan pada 24 Mei 2017, itu akan ditampilkan
2017-05-24
Tanggal dapat selalu dalam UTC atau tanggal lokal.
Anda harus menangani lompatan tahun. yaitu pada tahun kabisat, Februari memiliki 29 hari tetapi 28 hari pada tahun normal.
Kemenangan
Kode terpendek dalam byte menang.
Jawaban:
Bash ,
167 byte-8 byte terima kasih kepada Neil (dan fergusq) (tidak perlu pipa untuk output)
-1 byte terima kasih kepada 12431234123412341234123 (gunakan opsi bawaan dengan bendera
-I
!)Cobalah online!
sumber
echo $(...)
?date
output sudah, output disalurkan ke stdout. Anda tidak perlu menyalurkannya ke pipaecho
, yang akan mengarahkannya ke stdout. Cobalah online!echo
, setidaknyaecho `date +%F`
.-I
?PHP, 17 byte
sumber
YYYY-MM-DDThh:mm:ss+hh:mm
ini juga merupakan tanggal yang diformat ISO 8601 dan 11 byte ini:<?=date(c);
cetak semuanya. ;)<?=strstr(date(c),T,1);
untuk memberi kesempatan pada format cJapt , 6 byte
Cobalah online!
Penjelasan:
sumber
Bash, 15 byte
Contoh dijalankan:
Cobalah online!
sumber
T
.JavaScript (ES6), 34 byte
sumber
_=>new Date().toJSON().slice(0,10)
SQLite, 13 karakter
Anak baik, SQLite. Dialek SQL lainnya biasanya perlu salah satu
current_date
ataudate(now())
.Contoh dijalankan:
sumber
curdate
Mathematica, 20 byte
sumber
Perl 6 ,
1412 byteCobalah
Cobalah
sumber
Excel, 24 byte
Excel masih akan melakukan tahun 4 digit dengan hanya 3
y
's.sumber
")
. Excel tidak mau. Ini akan menambahkan)
pada akhirnya tetapi hanya setelah meminta Anda sehingga akan membutuhkan input pengguna tambahan dan menaikkan skor lagi. 24 byte mungkin jawaban Excel terpendek kecuali kami mengizinkan pengaturan regional menggunakan format tanggal ISO secara default dan itu untuk diperdebatkan .R , 10 byte
Cobalah online!
sumber
sys.date
sudah merupakan fungsi, Anda tidak perlu menambahkan()
, jadi ini hanya 8 byte :)Sys.Date
adalah fungsi, jadi cukuplah sebagai solusi. Tidak perlu menyebutnya secara eksplisit.Sys.Date
adalah keluaran untuk Anda. Ini mirip dengan ketika Anda memiliki solusi yang dimulai denganfunction(x)
, Anda tidak mengakhirinya dengan panggilan eksplisit. Hanya bagaimana skor built-in.Lua, 18 karakter
Contoh dijalankan:
Cobalah online!
sumber
Alice , 9 byte
Cobalah online!
Penjelasan
Saya akan meninggalkan aliran kontrol yang tepat sebagai latihan untuk pembaca, tetapi kode linear yang sedang dijalankan dalam mode Ordinal adalah:
Dan inilah fungsinya:
Salah satu cara ini bisa golf adalah menggunakan kembali
%
untuk mengakhiri program dalam mode Kardinal dengan pembagian dengan nol, tetapi satu-satunya tata letak saya datang dengan yang berikut:Tapi di sini,
%
sebenarnya tidak menghentikan program, karena kami mendorong 111 ('o
) tepat sebelumnya sehingga tidak pernah ada pembagian dengan nol.Pada prinsipnya mungkin juga untuk menggunakan kembali
%
untuk menyingkirkan;
, karena mencoba membagi tanggal sekitar waktu hanya akan membuang waktu.sumber
SmileBASIC 3, 29 byte
SB memiliki string tanggal bawaan ... tetapi dalam format yang salah! Ini menggunakan garis miring bukan garis, tidak baik. Plus, sebagai BASIC yang menghargai diri sendiri, tidak ada fungsi ganti global. Saya kira saya harus melakukannya sendiri ...
sumber
VBA,
525 bytetidak dapat diprediksi, tergantung pada pengaturan tanggal pendek sistem?Date
Keluaran:
sumber
. The default format for this is
M / D / YYYY` dan karenanya ini untuk output dariDate
fungsi tersebut5/25/2017
. Untuk memperbaikinya, jawaban Anda perlu dibungkus denganFormat
panggilan.?format(now,"yyyy-mm-dd")
menggunakannow
lebih pendek daridate
Prolog (SWI) , 46 byte
Cobalah online!
sumber
QBIC , 33 byte
Penjelasan:
sumber
CJam ,
2215 byteCobalah online!
-7 byte berkat Challenger5.
Penjelasan:
sumber
e[
(pad array) selama 15 byte:et3<{sY0e[}%'-*
Python 2, 40 byte
sumber
Pergi ,
6256 byteCobalah online!
sumber
Oracle SQL, 46 byte
sumber
Powershell,
2617 byteTerima kasih kepada @ConnorLSW untuk 9 byte.
sumber
date -f 'yyyy-MM-dd'
Ruby, 23 byte
Mencetak waktu setempat.
sumber
p Time.now.to_s[0..9]
MATLAB / Oktaf ,
2515 byteCobalah online!
Fungsi
now
bawaan mengembalikan tanggal sistem saat ini dalam format serial MATLAB yang aneh.datestr
memformat format serial yang aneh menjadi string dari format yang diminta - yang dalam hal ini'YYYY-mm-dd'
. Ternyata MATLAB memiliki daftar format yang telah ditentukan untukdatestr
. ISO8601 adalah salah satunya dan diwakili oleh angka 29, yang memungkinkan penghematan 10 byte.sumber
Python 2 ,
5340 byte-10 byte berkat Gábor Fekete (ISO-8601 adalah format default untuk objek tanggal)
Cobalah online!
Bagaimana?
datetime.date.today()
akan mengembalikandatetime.date
objek yang berisi informasi tanggal lokal.print
akan mencetak representasi string dari objek itu, ini akan memanggil__str__
fungsi objek.Dari dokumen :
date.__str__()
: Untuk adate
d
,str(d)
setara dengand.isoformat()
.date.isoformat()
: Mengembalikan yangstring
mewakili tanggal dalam format ISO 8601‘YYYY-MM-DD’
,. Sebagai contohdate(2002, 12, 4).isoformat() == '2002-12-04'
,.sumber
import datetime;print datetime.date.today()
ini hanya 43 byte dan menggunakan datetime. Mengapa versi yang lebih pendek dihapus?print
). Menyelamatkan tiga perbuatan lainnya (kejahatan)import*
.print
saat dihapus lalu dihapus.Crystal ,
30 byte24 byte21 byte-6 Terima kasih kepada Nick Clifford
-3 dari melihat jawaban snail_ di Ruby
Cobalah online!
sumber
%F
. Juga, senang melihat Crystal di PPCG!Rust, 84 Bytes
sumber
C #,
4645 byteMenyimpan satu byte berkat @raznagul.
sumber
Sytem
?System
namespace karena saya terus melakukan kesalahan ketik yang sama ..."yyy-MM-dd"
juga akan berfungsi.Java 8,
2632 byteMemperbaiki format berkat Kevin Cruijssen
sumber
()->java.time.LocalDate.now().toString()
. Kemudian lagi, Anda dapat golf.toString()
untuk+""
, sehingga menjadi()->java.time.LocalDate.now()+""
total ( 32 bytes ).C ++ 14,
143 byte139 byteTimtech menunjukkan kepada saya bahwa saya tidak membutuhkan semua ruang
Uji aku!
sumber
Swift, 13 byte
sumber