Linux:sheel脚本for的用法,及日期参数+1day用法

mac2024-07-14  52

记录下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

------------------------------------------------------------------------------------------

案例一:shell脚本指定日期减去一天

如果只减去一天的话,直接写就可以了。

#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" 201504161230

date -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” //显示下一年的日期
最新回复(0)