python - 您好需要生成一些有效的日期格式
问题描述
我有一些.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
模块来添加 timedeltas,如下所示:
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']]
推荐阅读
- sql - 当有两行满足查询时,PostgreSQL 查询仅返回一行
- python - mysql上的表关系以计算新字段
- c++ - C ++为什么这种结构甚至有效?
- sql - 在 SQL Server 2016 上使用 STUFF 和 XML PATH 时如何返回空白或空记录?
- azure-devops - Azure DevOps 管道资源触发器不起作用
- c# - C# Main Form BackColor 在图像前面移动
- javascript - 我只得到第二个 .innerHTML 结果,第一个没有运行
- javascript - 快速路由到搜索结果
- python - 计数碱基 DNA 链序列
- reactjs - redux 中是否需要中间件和增强器?