ลำดับการจัดรูปแบบของวันที่เป็นหนึ่งในปัญหาที่ซับซ้อนและแตกแยกที่สุดที่โลกเผชิญอยู่ทุกวันนี้ พวกเราบางคนแย้งว่าเดือน / วัน / ปีมีความเหมาะสมพิจารณาว่าเป็นวิธีที่เราพูดออกมาดัง ๆ คนอื่น ๆ ดังประกาศว่าวัน / เดือน / ปีที่ดีที่สุดเพราะมันทำให้เงื่อนไขในลำดับที่มากขึ้นของระยะเวลาที่พวกเขาเป็นตัวแทน
พอคือพอ. คอมพิวเตอร์สามารถแก้ไขข้อพิพาทนี้ได้อย่างเรียบง่ายและยุติธรรม 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