Giriş:
Bir tarihi içeren ( dd, MMve yyyy). Tarih nesnesi veya üç ayrı tamsayı da giriş olarak geçerlidir.
Çıktı:
Her bölüm ( dd, MMve yyyy) ayrı ayrı döndürülür ve en yakın geçerli tarihe yuvarlanır.
Örneğin (biçimde dd-MM-yyyy):
21-10-2016olur12-01-6102
Zorluk kuralları:
- Sadece
dd,MM,yyyygeçerli, ancak düzen ve kullanmak ayrı semboller kendi seçimdir.
Yani bunlar bazı geçerli format örnekleridd-MM-yyyy:;MM/dd/yyyy;yyyy MM dd;ddMMyyyyVb
Ve bunlar bazı geçersiz biçim örnekler:dd MMM yyyy;dd-MM-'yy; vb. - Ayrıca, diliniz tarafından destekleniyorsa veya bir tarihi temsil eden dize yerine üç ayrı tamsayı parametresi varsa bir Date nesnesi girmeyi de seçebilirsiniz.
- Lütfen hangi tarih biçimini kullandığınızı belirtin! (Ve giriş ve çıkış aynı formatta olmalıdır.) Tüm test senaryolarını ve aşağıdaki meydan okuma kuralını işleyebildiği sürece bir Date nesnesi çıktısına da izin verilir.
- Bu meydan okuma için Julian'dan Gregoryen Takvimi'ne geçiş yok sayılır. Bu
1582sadece geçerli bir ters yıl2851.
Geçerli tüm yıllar, aylar ve günler için Zorluk bilgileri / ipuçlarına bakın. - Şubat ayını başka bir ayın tersine çeviremeyeceğiniz için artık yıllar hakkında endişelenmenize gerek yok.
Tüm ters yıllar, aylar ve günler:
- Yıl her zaman sorunsuz bir şekilde tersine çevrilebilir, 0001'den (tersine çevrilmiş
1000) 9999'a (kalıntılar9999) ulaşır . (Dolayısıyla0000geçerli bir girdi değildir ve bunun için test durumu da yoktur.) - Tersine çevireceğiniz tek ay şunlardır: Ocak (Ekim / Ekim ayından itibaren ters
10); Ekim (Ocak ayından itibaren tersine döndü /01); Kasım ( Kasım kalır /11); ve Aralık (diğer her ayın ters /02-09,12). - Tersine çevireceğiniz tek gün: 01 (geri alındı
10), 02 (geri alındı20), 03 (geri alındı30), 10 (geri alındı01), 11 (kalıntı11), 12 (geri alındı21), 13 (geri alındı31) , 20 (tersine çevrilir02,) 21 (tersine çevrilir12,) 22 (kalıntıları22), 30 (tersine çevrilir03ya da aynı 31 Kasım!), 31 den ters (04-09/13-19/23-29).
Genel kurallar:
- Bu kod golf , bayt en kısa cevap kazanır.
Kod golf dillerinin, kod yazmayan dillerle yanıt göndermenizi engellemesine izin vermeyin. Herhangi bir programlama dili için mümkün olduğunca kısa bir cevap bulmaya çalışın. - Cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT, fonksiyonlar / yöntem uygun parametreler ve dönüş ifadeleri / çıktı, tam programlar ile kullanılabilir. Çağrınız.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuz için test içeren bir bağlantı ekleyin.
- Ayrıca, gerekirse bir açıklama ekleyin.
Test senaryoları ( dd-MM-yyyyformat olarak):
21-07-2016 -> 12-12-6102
12-11-1991 -> 21-11-1991
01-01-2000 -> 10-10-0002
27-08-1875 -> 31-12-5781
18-12-2010 -> 31-12-0102
13-01-1981 -> 31-10-1891
04-11-1671 -> 30-11-1761 // Semi-tricky case, since November has 30 days
28-11-2036 -> 30-11-6302 // Semi-tricky case, since November has 30 days
14-06-1855 -> 31-12-5581
30-10-9999 -> 03-01-9999
01-01-2851 -> 10-10-1582
70, yıl artışı ile sarıldığını düşündüm .
10-10-2Üçüncü durumda geçerli çıktı mı ?
21-07-2016döndürüldü12-70-6102yuvarlatılmış olan12-12-6102.##-10-6107