Diberi tanggal yang ditulis dalam format apa saja (harus menangani semuanya dalam program yang sama), parsing menjadi valid yyyy/mm/dd date
.
17th May 2012
March 14th, 2016
20 February 2014
September 14, 2017
Sunday, June 8, 2015
Aturan
- Tanggal terkadang tidak valid, yaitu. hari yang salah untuk bulan atau jumlah bulan dalam setahun, Anda harus menangani kedua kasus. Baik dengan membuat kesalahan atau mengembalikan nilai falsey yang konsisten, Anda memilih. (Namun mereka akan tetap berpegang pada format template di atas)
- Padding selama berhari-hari dan berbulan-bulan kurang dari 10 harus digunakan untuk membuat output dua digit.
- Nama bulan akan selalu menjadi nama lengkap, tidak disingkat menjadi tiga karakter rekan mereka.
- Anda dapat mengasumsikan tahun akan selalu berada dalam kisaran 0000-9999.
- Nomor negatif tidak perlu ditangani.
- Anda dapat membuat program atau fungsi lengkap sehingga output dapat dalam format apa pun, dicetak untuk menghibur atau dikembalikan dari suatu fungsi.
- Input akan selalu berupa string, output harus selalu berupa string, jika membuatnya lebih pendek untuk menjadikannya sebagai argumen tunggal dalam array misalnya.
["17th May 2012"]
Anda dapat melakukannya dan hasilnya bisa sama["2012/05/17"]
- Anda dapat menganggap ejaan dalam input akan benar.
BONUS: cos yang ada di sini tidak suka tantangan;)
Jika Anda dapat mengatur untuk juga mengizinkan format input The Fourteenth of March, 2016
atau March the Fourteenth, 2016
Anda dapat mengambil 20 byte tambahan dari kode Anda dengan jumlah byte terakhir kurang dari 1 yang menghasilkan 1.
Berikut adalah angka tertulis lengkap untuk setiap hari untuk menghindari kebingungan dalam pengejaan.
First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, Nineth, Tenth, Eleventh, Twelfth, Thirteenth, Fourteenth, Fifteenth, Sixteenth, Seventeenth, Eighteenth, Nineteenth, Twentieth, Twenty First, Twenty Second, Twenty Third, Twenty Fourth, Twenty Fifth, Twenty Sixth, Twenty Seventh, Twenty Eighth, Twenty Nineth, Thirtieth, Thirty First
Uji Kasus
INPUT | Output
17th May 2012 | 2012/05/17
March 14th, 2016 | 2016/03/14
20 February 2014 | 2014/02/20
September 14, 2017 | 2017/09/14
Sunday, June 8, 2015 | 2015/06/08
1st January 1918 | 1918/01/01
The Fourteenth of March, 2016 | 2016/03/14
March the Fourteenth, 2016 | 2016/03/14
November the Seventeenth, 2019 | 2019/11/17
The Thirtieth of April, 2016 | 2016/04/30
30 February 2014 | Invalid
September 99, 2017 | Invalid
Sunday, June8, 2015 | Invalid
The Thirty First of April, 2016 | Invalid
20 February 2014
standar didukung dalam banyak pengurai tanggal, tetapi 17th
dan Sunday, June 8, 2015
sedikit lebih sulit untuk diurai (tergantung pada bahasa).
Thursday, August 25, 2017
akan valid Saya melihat kiriman mengabaikan DOW.