![从变量形成日期](https://linux22.com/image/172481/%E4%BB%8E%E5%8F%98%E9%87%8F%E5%BD%A2%E6%88%90%E6%97%A5%E6%9C%9F.png)
我有如下 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 date
和info 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)