Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วันแห่งปีในภาษา Python


สมมติว่าเรามีวันที่ในรูปแบบ “ปปปป-ดด-วว” เราต้องคืนเลขวันของปี ดังนั้นหากวันที่เป็น “2019-02-10” แสดงว่าเป็นวันที่ 41 ของปี

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • สมมติว่า D เป็นอาร์เรย์ของการนับวัน เช่น [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
  • แปลงวันที่เป็นรายการปี เดือน และวัน
  • ถ้าปีเป็นปีอธิกสุรทิน ให้ตั้งวันที่ D[2] =29
  • บวกจำนวนวันขึ้นไปเป็นเดือน mm – 1. และนับวันหลังจากนั้น

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

class Solution(object):
   def dayOfYear(self, date):
      days = [0,31,28,31,30,31,30,31,31,30,31,30,31]
      d = list(map(int,date.split("-")))
      if d[0] % 400 == 0:
         days[2]+=1
      elif d[0]%4 == 0 and d[0]%100!=0:
         days[2]+=1
      for i in range(1,len(days)):
         days[i]+=days[i-1]
      return days[d[1]-1]+d[2]
ob1 = Solution()
print(ob1.dayOfYear("2019-02-10"))

อินพุต

"2019-02-10"

ผลลัพธ์

41