簡體   English   中英

生成間隔為一年的日期,月和日在python中保持不變

[英]Generating dates with an interval of one year with month and day being constant in python

我有幾個日期存儲在列表 U 中,我想為從 1981 年到 2018 年的每個單獨日期生成一個日期序列,月份和日期是恆定的。 我使用了 dateutil 庫中的 relativedelta() 命令。

    from dateutil.relativedelta import relativedelta
    import datetime
    
    U=[datetime.date(2013,6,5),datetime.date(2014,7,8),datetime.date(2012,12,5)]
    U[0]+relativedelta(years=1) 

但是relativedelta(years=1)只會獲取datetime.date(2014,6,5) ,如何將日期生成為datetime.date(1981,Month,Day)datetime.date(1982,Month,Day)等等直到datetime.date(2018,Month,Day)用於 U 中所有三個不同的日期

您可以通過使用列表理解來保持簡單。 如果可以說,您想要 1980 年和 2019 年之間的所有一月一日:

[datetime.datetime(year, 1, 1) for year in range(1980,2020)]

(例如,如果要 10 月 30 日,請將1 , 1更改為10 , 30

感謝 Zabop 的解決方案。 我想為所有三個日期生成序列,這是代碼:

import numpy as np
import datetime

U=[datetime.date(2013,6,5),datetime.date(2014,7,8),datetime.date(2012,12,5)]
x=list()
for i in np.arange(0,3,1):
           X1=[datetime.datetime(year, U[i].month, U[i].day) for year in range(1980,2020)]
           x.append(X1) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM