[英]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.