The kalender Discordian adalah kalender alternatif yang digunakan oleh Discordians.
- Tahun perselisihan memiliki 5 musim, masing-masing berlangsung selama 73 hari: Kekacauan, Perselisihan, Kebingungan, Birokrasi, dan Buntutnya.
- Minggu yang tidak sesuai memiliki 5 hari: Sweetmorn, Boomtime, Pungenday, Prickle-Prickle, dan Setting Orange. Setiap tahun dimulai dengan Sweetmorn (dan dalam Kekacauan).
- Setiap f tahun ourth (yang Happe n s untuk menyelaraskan dengan Greg o rian lompatan ya r s), tambahan d ay dimasukkan antara Chaos 59 dan Chaos 60 disebut Hari St. Tib . Itu di luar minggu Discordian, yang berarti sehari setelah Hari St. Tib akan Setting Orange, sehari sebelum Prickle-Prickle.
- Kalender Gregorian dan Discordian berbaris; keduanya dimulai pada hari yang sama, yang disebut 1 Januari di kalender Gregorian, dan Chaos 1 dalam satu Discordian.
- Tahun pertama Our Lady of Discord (YOLD 1) adalah 1166 SM dalam kalender Gregorian, artinya tahun ini (2017 M) adalah YOLD 3183.
- Kalender Discordian juga memiliki hari libur, tetapi mereka tidak penting untuk tantangan ini dan Anda tidak boleh menampilkannya atau apa pun tentang mereka.
Tulis program atau fungsi yang menampilkan atau mengembalikan tanggal hari ini (pada saat eksekusi):
Today is Boomtime, the 16th day of Confusion in the YOLD 3183
Formatnya adalah "Today is $day_of_the_week, the $ordinal day of $season in the YOLD $year"
, di mana $ day_of_the_week adalah hari kapitalisasi (judul-kasus) dalam seminggu, $ ordinal adalah hari musim sebagai ordinal (1, 2, 3, 4, ...), $ musim adalah huruf kapital musim (judul-kasus), dan $ tahun adalah tahun.
Jika program atau fungsi Anda dieksekusi pada Hari St. Tib, itu seharusnya menghasilkan atau mengembalikan "Today is St. Tib's Day in the YOLD $year"
.
Aturan:
- Celah standar berlaku.
- Jika bahasa pilihan Anda tidak memiliki cara untuk mendapatkan tanggal saat ini, itu juga dapat mengambil tanggal Gregorian saat ini dalam format yang masuk akal sebagai masukan.
- Ini adalah kode-golf , kode terpendek (per bahasa) menang.
- Trailing whitespace tidak apa-apa.
- Huruf besar penting.
- Panggilan
ddate
dengan cara apa pun dilarang - Program Anda harus dijamin bekerja dari 3067 hingga 3265 YOLD (1901 hingga 2099 M), di luar rentang itu dapat memberikan nilai yang salah
Lihat juga:
- Malaclypse The Younger. "Principia Discordia, Atau Bagaimana Saya Menemukan Dewi Dan Apa Yang Saya Lakukan padanya Ketika Saya Menemukannya" . hal. 00034
- ddate (1)
- Posting kotak pasir bagi mereka yang bisa melihatnya
Jawaban:
Mathematica,
403401 byteVersi untuk menghitung jumlah byte: (menghapus spasi dan baris baru - sayangnya bagian ini cukup sulit)
Versi untuk dibaca:
Jawabannya dapat diuji dengan tanggal sewenang-wenang dengan mengganti
DateString@"ISOOrdinalDate"
denganDateString[{year,month,day},"ISOOrdinalDate"]
untukyear
,month
danday
diganti dengan angka.sumber
Python 2, 423 Bytes
Versi pendek:
Bentuk yang lebih panjang dan lebih mudah dibaca:
Pembaruan: Diperbaiki dengan bantuan @Neil dan @EriktheOutgolfer yang hebat. Tapi jawaban Jonathans jauh lebih pendek.
sumber
y%4<1
akan bekerja, tapi saya pikir tidak1-y%4
akan berhasil.e
variabel?Python 2 , 346 byte
Catatan: Ini adalah golf (dan perbaikan) dari jawaban jammon - Awalnya saya pikir saya akan mengirim komentar, tapi saya sedikit berubah pada akhirnya (ditambah akhiran hari telah diperbaiki).
Cobalah online! atau lihat tanggal tes yang dikodekan dengan keras .
sumber
e%10*(e/9!=1)
berhasil?11st
,12st
dan13st
(kapane/9
1 akan dikalikan dengan nol danmin
akan memilih nol)JavaScript (ES6),
387380 byteMengambil parameter tanggal opsional. Tidak Disatukan:
sumber
C #, 392 byte
Versi Lengkap / Terformat:
sumber
Pyth , 295 byte
Catatan: mengandung biner, mungkin tidak aman untuk disalin-tempel dari sini. Copy-paste dari TIO harus berfungsi.
Cobalah online!
Anda dapat menguji tanggal sewenang-wenang dengan mengganti
.d2
di awal dengan 3-tupel (tahun, bulan, hari) seperti ini:(2020 2 29)
.Yang ini agak menjengkelkan karena Pyth tidak punya cara untuk mendapatkan "hari tahun" jadi saya harus menghitungnya sendiri.
sumber