ลำดับการจัดรูปแบบของวันที่เป็นหนึ่งในปัญหาที่ซับซ้อนและแตกแยกที่สุดที่โลกเผชิญอยู่ทุกวันนี้ พวกเราบางคนแย้งว่าเดือน / วัน / ปีมีความเหมาะสมพิจารณาว่าเป็นวิธีที่เราพูดออกมาดัง ๆ คนอื่น ๆ ดังประกาศว่าวัน / เดือน / ปีที่ดีที่สุดเพราะมันทำให้เงื่อนไขในลำดับที่มากขึ้นของระยะเวลาที่พวกเขาเป็นตัวแทน
พอคือพอ. คอมพิวเตอร์สามารถแก้ไขข้อพิพาทนี้ได้อย่างเรียบง่ายและยุติธรรม 12/1/2015รหัสของคุณฟังก์ชั่นที่สมบูรณ์หรือโปรแกรมจะใช้สตริงวันที่คั่นด้วยเครื่องหมายทับเช่น โปรดทราบว่านี่เป็นรูปแบบที่แน่นอนโดยไม่มีเลขศูนย์นำหน้าและมีปีสี่หลักในตอนท้าย
- ถ้ามันแน่นอนเดือน / วัน / ปีเช่น
10/31/1998การส่งออกการแสดงข้อความของวันนั้นในรูปแบบตรงนี้มีชื่อเต็มเดือนวันและปี:October 31, 1998 - ถ้ามันแน่นอนวัน / เดือน / ปีเช่นการส่งออกในประเภทเดียวกันของการแสดงข้อความ:
25/12/1989December 25, 1989 - หากไม่ชัดเจนว่าเป็นเดือน / วัน / ปีหรือวัน / เดือน / ปีให้ส่งออกวันที่แก้ไขความกำกวมโดยรวมสองวันที่เป็นไปได้ดังต่อไปนี้:
- สร้างชื่อเดือนใหม่โดยจดชื่อครึ่งแรกของเดือนก่อนหน้าและต่อท้ายครึ่งหลังของเดือนต่อมา สำหรับเดือนที่มีความยาวคี่ครึ่งแรกจะได้รับตัวอักษรพิเศษ การจะมีความชัดเจนในครึ่งแรกของเดือนที่มี
Janu,Febr,Mar,Apr,Ma,Ju,Ju,Aug,Septe,Octo,NoveและDeceและครึ่งที่สองจึงary,uary,ch,il,y,ne,ly,ust,mber,ber, และmbermber - คำนวณวันโดยหาค่าเฉลี่ยของสองวันที่เป็นไปได้โดยเริ่มจากพื้นเมื่อค่าเฉลี่ยไม่ใช่จำนวนเต็ม
- เอาท์พุทการแสดงข้อความของวันนี้เช่นสำหรับการส่งออก
10/8/2011Augber 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
