Computer >> Máy Tính >  >> Lập trình >> Python

Ngày trong năm bằng Python

Giả sử, chúng ta có một ngày ở định dạng “YYYY-MM-DD”. Chúng ta phải trả lại số ngày trong năm. Vì vậy, nếu ngày là "2019-02-10", thì đây là ngày thứ 41 trong năm.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • Giả sử D là một mảng số ngày như [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
  • Chuyển ngày thành danh sách năm, tháng và ngày
  • nếu năm là năm nhuận thì đặt ngày D [2] =29
  • Cộng số ngày lên đến tháng mm - 1. và số ngày sau đó.

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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"))

Đầu vào

"2019-02-10"

Đầu ra

41