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