如何解决生成间隔为一年的日期,其中月和日在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,5)
,如何生成日期为datetime.date(1981,Month,Day)
,datetime.date(1982,Day)
的日期,依此类推,直到U中所有三个不同日期的datetime.date(2018,Day)
为止
解决方法
您可以通过使用列表理解来使其简单。如果要说的话,您想要1980年至2019年之间的所有“一月一日”:
Path
(例如,如果要在10月30日,将 choice = input()
if int(choice[0]) in X and choice[1] in Y:
print("True")
else:
print("False")
,[datetime.datetime(year,1,1) for year in range(1980,2020)]
更改为1
,1
。
感谢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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。