我正在創建一個應用程式,其中有兩個值,一個委員會的開始日期,例如 2022,01,02,以及它將在這里持續多少個月(4 個月)。現在,我每月將一些資料保存在我的資料庫中,這些日期也將保存。現在的問題是,如果月數小于或等于 12,我會得到正確的結果。
number of memebrs = 12
starting date = 2022,01,01
for i in range(1,17):
print('date', (2022,i,10))
但是當月份大于 12 時問題就出現了,所以日期開始列印 2022,01,13 這是錯誤的,因為我還想將年份增加到 2023,我覺得這不是一個非常低效的好主意。誰能告訴我有沒有其他方法可以做到這一點。
uj5u.com熱心網友回復:
雖然您可以使用該datetime庫來處理日期,但它不提供任何方法來逐月增加日期。
現在,以前的建議/答案建議您在月份 == 12 時增加年份,但這會導致十二月被跳過。此外,您的代碼不考慮開始日期中的任何給定月份。所以更好的解決方案是:
>>> year = 2022
>>> month = 7
>>> day = 23
>>>
>>> for i in range(1, 8):
... month = 1
... if month == 13:
... month = 1
... year = 1
... print(f'{year}-{month}-{day}')
...
2022-8-23
2022-9-23
2022-10-23
2022-11-23
2022-12-23
2023-1-23
2023-2-23
uj5u.com熱心網友回復:
你可以這樣做:
date = [2022,1,10]
for i in range(1,17):
if i%12==0:
date[0] =1
date[1]=1
print('date', (time[0],i,time[2]))
uj5u.com熱心網友回復:
從你的問題的語氣來看,我認為你是一個初學者,所以我不建議你使用 datetime 模塊,我很感激你嘗試自己做。我不明白的是,為什么你不能只使用 if 陳述句并為年份和日期創建變數
yr = 2022
dt = 1
for i in range(1,17):
print('date', (yr,i,dt))
if i % 12 == 0:
yr = 1
mn = 1
我還想分享使用 datetime 模塊的現代方法。但它需要一些模塊。
在你的 cmd 中輸入命令 pip install python-dateutil
安裝后關閉 cmd 并重繪 你的 ide
這是您可能要使用的代碼
from datetime import datetime
from dateutil.relativedelta import relativedelta
date_time = datetime(2022, 1, 1) #Creating a Date object
for i in range(1, 17):
date = date_time.date()
print(date)
date_time = date_time relativedelta(months=1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/417190.html
標籤:
下一篇:用R創建日期
