เขียนฟังก์ชั่นที่ใช้วันที่และส่งคืนวันในสัปดาห์ของวันที่ 29 กุมภาพันธ์ถัดไปหลังจากวันที่นั้น
อินพุตเป็นสตริงในรูปแบบ ISO Extended: YYYY-MM-DD (เช่น 27 พฤษภาคม 2010 จะเป็น "2010-05-27")
ผลลัพธ์คือสตริงที่เป็นชื่อของวันในสัปดาห์ (เช่น "วันจันทร์") การใช้อักษรตัวพิมพ์ใหญ่ไม่สำคัญ แต่ให้ชื่อเต็มเป็นภาษาอังกฤษ
หากวันที่ที่กำหนดคือ 29 กุมภาพันธ์ให้ส่งคืนวันในสัปดาห์ของวันที่ 29 กุมภาพันธ์ถัดไป
ใช้การคำนวณสำหรับปฏิทินเกรกอเรียน Proleptic (ดังนั้นจะใช้การคำนวณแบบกระโดดปีเกรโกเรียนสำหรับความยาวทั้งหมด) ไม่ต้องกังวลกับปฏิทินจูเลียนหรือเมื่อมีการเปลี่ยนจากจูเลียนเป็นเกรโกเรียน เพียงแค่ถือว่า Gregorian สำหรับทุกสิ่ง
ฟังก์ชันควรใช้งานได้อย่างน้อยช่วง "0001-01-01" - "2100-01-01"
อย่าลังเลที่จะใช้ไลบรารี่มาตรฐานที่คุณเลือกภาษา แต่อย่าใช้ไลบรารี่ของบุคคลที่สามจนกว่าคุณจะต้องการรวมรหัสนั้นเป็นส่วนหนึ่งของโซลูชันของคุณ
รหัสที่สั้นที่สุด (ตัวอักษรน้อยที่สุด) ชนะ
ตัวอย่าง:
func("0001-01-01")
->"Sunday"
func("1899-12-03")
->"Monday"
func("1970-01-01")
->"Tuesday"
func("1999-07-06")
->"Tuesday"
func("2003-05-22")
->"Sunday"
func("2011-02-17")
->"Wednesday"
func("2100-01-01")
->"Friday"
(และไม่คุณไม่ต้องตั้งชื่อฟังก์ชั่นfunc
)
คำแนะนำ:
- จำไว้ว่าปีที่ลงท้ายด้วย 00 ซึ่งไม่หารด้วย 400 จะไม่กระโดดปี
- 1 มกราคม 0001 คือวันจันทร์