从变量形成日期

从变量形成日期

我有如下 2 个变量,需要更改为整个日期,您能帮我吗?提前致谢。!!!

end=2020-03(yyyy-mm)
win=28

需要将其格式化为以下变量

start_timestamp = less 1 month from end + 1 day from win
end_timestamp= start_timestamp + 1 month – 1 days

结果:

start_timestamp = 2020-02-29
end_timestamp = 2020-03-28

注意:我使用的是 ksh

答案1

为了从date命令中获取相对时间,您需要该--date标志(请参阅文档以获取更多详细信息(例如man dateinfo date))所以在您的情况下,它看起来像这样:

end=2020-03
win=28

start_timestamp=$(date --date="${end}-${win} last month next day" +%Y-%m-%d)
end_timestamp=$(date --date="${start_timestamp} next month last day" +%Y-%m-%d)

相关内容