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

嗨需要生成一些有效的日期格式

如何解决嗨需要生成一些有效的日期格式

我有一些 .ini "yyyymmdd" 格式的日期。

我的 .ini 文件详细信息:

[global]
date_with_interval = 20210311:3,20200228:4

在上面的这个变量中,我有两个以冒号分隔的值,第一个是日期和第二个间隔 所以基于需要获取一个日期序列的间隔值,如

#I need the output in this format

output = [[20210311,20210312,20210312],[20200228,20200229,20200301,20200302]]

我已经尝试过这种方式,但遗漏了一些要点。

import configparser
config_file= "file1.ini"
con.read(config_file)

def read(name):
    return con.get('global',name)

valid_date = []
data_date = read("date_with_interval")
date_info = data_date.split(",")
for date in date_info:
    date_format,interval = date.split(":")
    print("Date is:",date_format)
    print("Interval",interval)
    year,month,dd = date_format[0:4],date_format[4:6],date_format[6:8]
    print("year",year)
    print("month",month)
    print("date",dd)

解决方法

可能想使用 datetime 模块来添加这样的时间增量:

import datetime
date_with_interval = ['20210311:3','20200228:4']


output = []
for x in date_with_interval:
    t = []
    d,n = x.split(':')
    n = int(n)
    for i in range(n):
        t.append(datetime.datetime.strftime(datetime.datetime.strptime(d,"%Y%m%d")+datetime.timedelta(days=i),"%Y%m%d"))
    output.append(t)

输出

[['20210311','20210312','20210313'],['20200228','20200229','20200301','20200302']]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?