微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

生成间隔为一年的日期,其中月和日在python中保持不变

如何解决生成间隔为一年的日期,其中月和日在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)] 更改为11

,

感谢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 举报,一经查实,本站将立刻删除。