记录下shell的for的用法,及参数是日期的情况下,该日期+1day的用法:
#!/usr/bin/env bash source /app/catt/login.sh p_days="20171208 20171210 20171230 20180103 20180104 20180105 20180106 20180107 20180108 20180109 20180113 20180116 20180118 20180119 20180120 20180127" for p_day in $p_days; do p_hour_start=$p_day'00' p_nextday=`date -d "$p_day +1 day" +"%Y%m%d"` p_hour_end=$p_nextday'00' echo ${p_hour_start},${p_hour_end} end------------------------------------------------------------------------------------------
如果只减去一天的话,直接写就可以了。
#date -d"yesterday 20150401" +%Y%m%d如果要减去几天,还可以这样写,如果用负数是往前数,
#date -d"10 day ago 2015-04-01" +%Y-%m-%d在指定的日期上加上指定的小时
[dc@dc010.tj.momo.com init_env]$ date -d "20150416 12 3 hour" +"%Y%m%d%H" 2015041615在指定的日期上减去指定的小时
[dc@dc010.tj.momo.com init_env]$ date -d "20150416 12 -1 hour" +"%Y%m%d%H" 2015041611在指定的日期上加上指定的分钟
[dc@dc010.tj.momo.com init_env]$ date -d "20150416 12:20 10 minute" +"%Y%m%d%H%M" 201504161230date -d参数可以根据当前日期获取更多我们需要的日期。
本月和下月
this_ym=`date +%Y%m` next_ym=`date -d '1month' +%Y%m`昨天和明天
date -d yesterday date -d tomorrow date +%Y%m%d -d "+1 day" date +%Y%m%d -d'+1 day' date +%Y%m%d --date "+1 day" date +%Y%m%d --date='+1 day'指定月份
date -d 1May 现在: date -d now其他
date +%Y%m%d --date=”+1 day” //显示后一天的日期 date +%Y%m%d --date=”-1 day” //显示前一天的日期 date +%Y%m%d --date=”-1 month” //显示上一月的日期 date +%Y%m%d --date=”+1 month” //显示下一月的日期 date +%Y%m%d --date=”-1 year” //显示前一年的日期 date +%Y%m%d --date=”+1 year” //显示下一年的日期