तारीखों का प्रारूपण क्रम आज दुनिया के सामने आने वाले सबसे जटिल और विभाजनकारी मुद्दों में से एक है। हममें से कुछ लोगों का तर्क है कि महीना / दिन / वर्ष उचित है, यह देखते हुए कि हम कैसे कहते हैं कि तारीखें ज़ोर से पड़ती हैं। अन्य लोग जोर से घोषणा करते हैं कि दिन / महीना / वर्ष सबसे अच्छा है, क्योंकि यह शर्तों को उस अवधि के आरोही क्रम में रखता है जिसका वे प्रतिनिधित्व करते हैं।
अब बहुत हो गया है। कंप्यूटर इस विवाद को सरल और निष्पक्ष रूप से हल कर सकते हैं। आपका कोड, एक पूर्ण फ़ंक्शन या प्रोग्राम, स्लैश द्वारा सीमांकित तारीख स्ट्रिंग लेगा, जैसे 12/1/2015
। ध्यान दें कि यह सटीक प्रारूप है, प्रमुख शून्य के बिना और अंत में चार अंकों के वर्ष के साथ।
- यदि यह निश्चित रूप से महीना / दिन / वर्ष है, उदाहरण के लिए
10/31/1998
, पूरे महीने के नाम, दिन और वर्ष के साथ इस सटीक प्रारूप में उस तिथि का एक पाठ प्रतिनिधित्व आउटपुट करें:October 31, 1998
- यदि यह निश्चित रूप से दिन / महीना / वर्ष है, उदाहरण के लिए
25/12/1989
, एक ही तरह का पाठ प्रतिनिधित्व आउटपुटDecember 25, 1989
:। - यदि यह अस्पष्ट है कि क्या यह महीना / दिन / वर्ष या दिन / महीना / वर्ष है, तो दो संभावित तिथियों के संयोजन से अस्पष्टता को हल करने वाली तिथि इस प्रकार है:
- के नाम की पहली छमाही लेने के द्वारा एक नया माह नाम बनाएँ पहले महीने और की दूसरी छमाही संलग्न बाद में महीने। विषम लंबाई वाले महीनों के लिए, पहले छमाही को अतिरिक्त पत्र मिलता है। स्पष्ट होना करने के लिए, महीने के पहले आधी होती हैं
Janu
,Febr
,Mar
,Apr
,Ma
,Ju
,Ju
,Aug
,Septe
,Octo
,Nove
, औरDece
और दूसरे हिस्सों इसलिए कर रहे हैंary
,uary
,ch
,il
,y
,ne
,ly
,ust
,mber
,ber
,mber
, औरmber
। - दो संभावित दिनों के औसत से दिन की गणना करें, जब औसत पूर्णांक नहीं है, तो फर्श ले रहा है।
- इस दिनांक के पाठ प्रतिनिधित्व को आउटपुट करें, उदाहरण के लिए
10/8/2011
, आउटपुटAugber 9, 2011
।
- के नाम की पहली छमाही लेने के द्वारा एक नया माह नाम बनाएँ पहले महीने और की दूसरी छमाही संलग्न बाद में महीने। विषम लंबाई वाले महीनों के लिए, पहले छमाही को अतिरिक्त पत्र मिलता है। स्पष्ट होना करने के लिए, महीने के पहले आधी होती हैं
इनपुट तारीख नहीं किया जा सकता है, तो महीना / दिन / वर्ष या दिन / माह / वर्ष (उदाहरण के लिए 13/13/2013
या यहां तक कि 2/30/2002
), किसी भी व्यवहार स्वीकार्य है। यह कोड गोल्फ, सबसे छोटा कोड जीतता है!
परीक्षण के मामलों:
10/31/1998
देता है October 31, 1998
25/12/1989
देता है December 25, 1989
10/8/2011
देता है Augber 9, 2011
8/5/1957
देता है Maust 6, 1957
9/12/2012
(विचित्र रूप से पर्याप्त) देता है September 10, 2012
1/1/2000
देता है January 1, 2000
without leading zeroes and with a four-digit year at the end
तात्पर्यyear >= 1000