在使用strftime
函數處理閏年問題時,可以通過%j
格式化符來獲取一年中的第幾天,然后再結合判斷該年是否是閏年的條件來進行處理。
以下是一個示例代碼:
import datetime
def is_leap_year(year):
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
return True
else:
return False
def get_day_of_year(date):
return int(date.strftime('%j'))
date = datetime.datetime(2024, 2, 29) # 2024年是閏年,2月29日存在
day_of_year = get_day_of_year(date)
if is_leap_year(date.year) and day_of_year > 59:
print(f"{date.year}年是閏年")
else:
print(f"{date.year}年不是閏年")
這段代碼會輸出2024年是閏年
,因為2024年是閏年,2月29日存在。通過結合判斷該年是否是閏年和獲取日期在一年中的第幾天來處理閏年問題。