给出该月特定日期的月末的第一天和最后一天 - 贝壳

时间:2017-05-15 14:39:27

标签: shell date

我可以获得当月的第一天和最后一天

#first
date -d "-0 month -$(($(date +%d)-1)) days" +%Y%m%d
#last
date -d "-$(date +%d) days +1 month" +%Y%m%d

现在,如果我以YYYYMMDD格式接受某个特定日期作为indate="$1"之类的参数,我该如何使用它来获取该对应的第一个和最后一个日期一个月?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

indate='20160215'

# first day of given month
date -d "$indate -${indate:6} days +1 day" +%Y%m%d
20160201

# last day of given month
date -d "$indate +1 month -${indate:6} days" +%Y%m%d
20160229