September 1993 dikenal di Usenet sebagai September yang tidak pernah berakhir. Jadi, misalnya, hari pertanyaan ini diposting adalah Sabtu, September 8740, 1993.
Program atau fungsi Anda harus mengambil setiap tanggal Gregorian (dengan tahun positif) sebagai input dan mengembalikan tanggal yang sama dengan output jika sebelum September 1993 atau tanggal pada kalender September 1993 jika sesudahnya.
Anda dapat menerima YYYY-MM-DD, YYYY / MM / DD, MM / DD / YYYY, DD / MM / YYYY, D-Monthnameabbr-YYYY, atau format populer lainnya yang menggunakan keseluruhan tahun (sebagai lawan dari tahun modulo 100). Anda hanya perlu menerima satu format seperti itu, pilihan Anda. Format output harus cocok dengan format input.
Input sampel → output:
- Minggu, 6 Agustus 2017 → Minggu, 8741 September 1993
- Selasa, 28 Januari 1986 → Selasa, 28 Januari 1986
Atau:
- 2017-08-06 → 1993-09-8741
- 1986-01-28 → 1986-01-28
Demi jawaban yang lebih menarik, penggunaan fungsi bawaan yang dirancang untuk tujuan ini (seperti perintah UN * X sdate
) dilarang. Selain itu dan pengecualian standar , ini adalah golf, jadi jawaban terpendek menang.
Jawaban:
JavaScript (ES6), 48 byte
Berdasarkan algoritma @ Mr.Xcoder.
sumber
Python 3 , 109 byte
Cobalah online!
-59 byte terima kasih kepada notjagan
-3 byte terima kasih kepada tuan Xcoder
-2 byte terima kasih untuk officialaimm
-12 byte terima kasih kepada Jonathan Allan
sumber
-8644+1
bisa-8643
..z>9
dinyatakan sebaliknya, Anda kehilangan nol di depan pada hari itu.Mathematica, 55 byte
I / O
-6 byte thanx ke pengguna202729
sumber
{1993,9,1}
kembali satu hari, sehingga untuk menghapus+1
, menghemat 2 byte?{1993,9,0}
diizinkan.Perl 5 , 102 + 16 (-MTime :: Lokal -F-) = 118 byte
Cobalah online!
Mengambil tanggal sebagai "YYYY-MM-DD"
Saya pikir saya melakukan hitungan tepat pada opsi baris perintah. Saya yakin seseorang akan memperbaiki saya jika saya tidak melakukannya.
sumber
C # (.NET Core) , 107 byte
Cobalah online!
Mengambil tanggal sebagai M / D / YYYY (angka di bawah 10 ditulis dengan hanya 1 digit). Ditulis dari ponsel saya menggunakan API dengan hati.
sumber
Gaia , 78 byte
Cobalah online!
Penjelasan
Pertama, kami memiliki fungsi pembantu yang menentukan apakah satu tahun adalah tahun kabisat.
Fungsi utama mengerjakan sisa pekerjaan:
sumber