ฉันใช้โมดูลPython datetimeเช่น:
>>> import datetime
>>> today = datetime.datetime.now()
>>> print today
2009-03-06 13:24:58.857946
และฉันอยากจะคำนวณวันของปีที่อ่อนไหวของปีอธิกสุรทิน เช่นในวันนี้ (6 มีนาคม 2009) เป็นวันที่ 65 ของปี 2009 web-based เครื่องคิดเลข
อย่างไรก็ตามฉันเห็นสองตัวเลือก:
A. สร้างอาร์เรย์ number_of_days_in_month = [31, 28, ... ] ตัดสินใจว่าเป็นปีอธิกสุรทินหรือไม่รวมวันด้วยตนเอง
B. ใช้datetime.timedelta
เพื่อเดาและค้นหาไบนารีสำหรับวันที่ถูกต้องของปี:
>>> import datetime
>>> YEAR = 2009
>>> DAY_OF_YEAR = 62
>>> d = datetime.date(YEAR, 1, 1) + datetime.timedelta(DAY_OF_YEAR - 1)
ทั้งสองอย่างนี้รู้สึกอึดอัดและฉันรู้สึกว่ามีวิธีคำนวณวันของปีแบบ "Pythonic" มากกว่า ความคิด / ข้อเสนอแนะใด ๆ ?
date.today()
แทนที่จะdatetime.now()
ได้ผลและเน้นย้ำถึงลักษณะของการดำเนินการอีกเล็กน้อย