ग्रेगोरियन कैलेंडर के लिए, तिथि प्रारूप एक देश से दूसरे में भिन्न होता है। मान्यता प्राप्त तीन मुख्य प्रारूप हैं:
YY-MM-DD
(बड़े एंडियन)DD-MM-YY
(छोटा एंडियन)MM-DD-YY
(मध्यम endian)
आपका कार्य एक प्रोग्राम लिखना है, जो एक तारीख का प्रतिनिधित्व करते हुए एक इनपुट स्ट्रिंग देता है, सभी संभावित दिनांक स्वरूपों को आउटपुट करता है जिसके द्वारा इस स्ट्रिंग को एक तारीख के रूप में व्याख्या किया जा सकता है।
नियम
- इनपुट तिथि प्रारूप में है
xx-xx-xx
, जहां प्रत्येक क्षेत्र दो अंकों और शून्य-गद्देदार है। - तिथि हमेशा मान्य होती है (इसलिए आपको 14-13-17 जैसी चीजें नहीं मिल सकती हैं)
- दिनांक हमेशा कम से कम एक प्रारूप के ऊपर होता है (ताकि आप 17-14-11 जैसी चीजें प्राप्त न कर सकें)
- क्योंकि हम वास्तव में एक समानांतर दुनिया में हैं, वर्ष के हर महीने के लिए 31 दिन हैं , और परिणामस्वरूप कोई लीप वर्ष नहीं है
- दिनांक 01 जनवरी, 2001 से 31 दिसंबर, 2099 के बीच का है
- यदि तारीख के लिए केवल एक प्रारूप है, तो कोड केवल इसे प्रिंट करना होगा (केवल अनुगामी newlines की अनुमति है)
- यदि दिनांक के लिए कई प्रारूप हैं, तो उन्हें या तो अल्पविराम से अलग होना चाहिए, एक स्थान, एक नई रेखा, या उन लोगों का संयोजन
- आपको प्रारूप के सटीक नाम (नों) का उत्पादन करना होगा। अलग-अलग मनमाना मूल्यों का उपयोग करने की अनुमति नहीं है।
- एक अनुगामी स्थान की तुलना में अन्य प्रमुख या अनुगामी चरित्रों की अनुमति नहीं है
- आउटपुट लोअरकेस होना चाहिए
- आपको किसी भी अंतर्निहित तिथि या कैलेंडर फ़ंक्शन का उपयोग करने की अनुमति नहीं है
- आउटपुट स्वरूप को सॉर्ट करने की आवश्यकता नहीं है
उदाहरण
Input Output
30-05-17 big-endian, little-endian
05-15-11 middle-endian
99-01-02 big-endian
12-11-31 big-endian, little-endian, middle-endian
02-31-33 middle-endian
यह कोड-गोल्फ है इसलिए बाइट्स जीत में सबसे छोटा कोड है। स्पष्टीकरण को प्रोत्साहित किया जाता है।
there are 31 days for every month of the year, and consequently no leap years
तो इसका मतलब यह है कि किसी भी तारीख पुस्तकालय इसके लिए प्रभावी रूप से बेकार है?