shell 获取时间

来源:互联网 发布:js整数加减乘除 编辑:程序博客网 时间:2024/05/21 09:42

获取时间操作

/* date 获取参数 */CUR_DATE=`date -d "-1 day"  +%Y-%m-%d`CUR_PARTITION=`date -d "-1 day"  +%Y%m%d`BEGIN_PARTITION=`date -d "-1 day"  +%Y%m%d`END_PARTITION=`date -d "-1 day"  +%Y%m%d`BEGIN_DATE=`date -d "-1 day"  +%Y-%m-%d`END_DATE=`date -d "-1 day"  +%Y-%m-%d`/* 根据指定的时间去获取日期时间, format_day格式为 20171204 */format_day=`echo $1|grep -o '[0-9]\{8\}'`format_hour=`echo $1|grep -o '[0-9]\{2\}$'`CUR_DATE=`date -d "$format_day" +%Y-%m-%d`CUR_PARTITION=`date -d "$format_day" +%Y%m%d`LAST_MONTH=`date -d "${format_day} -1 month" +%Y%m`BEGIN_DATE=`date -d "${format_day}"  +%Y-%m-%d`END_DATE=`date -d "${format_day}"  +%Y-%m-%d`BEGIN_PARTITION=`date -d "${format_day}"  +%Y%m%d`END_PARTITION=`date -d "${format_day}"  +%Y%m%d`

获取指定开始结束时间内的所有日期

会循环例举所有的自然月天数, 日期按照标准天数,比如2月只到28/29号

#!/bin/bash#以天做循环#20170101 20170103stime=$1etime=$2while :do    stime=$(date -d "$stime 1day"  +%Y%m%d)    echo $stime    if [[ $stime -gt $etime ]]; then        break;    fidone

举例:

sh getDate.sh 20170125 20170416运行结果:20170126...201702282017030120170302...2017041620170417
改善脚本,使得打印出来的时间在输入时间范围之内(包括输入的时间)
#!/bin/bash#以天做循环#20170101 20170103stime=$1etime=$2while :do    stime=$(date -d "$stime 1day"  +%Y%m%d)    format_day=`echo $stime|grep -o '[0-9]\{8\}'`    result_day=`date -d "${format_day} -1 day" +%Y%m%d`    echo $result_day    if [[ $result_day -eq $etime ]]; then        break;    fidone测试:  sh getDate.sh 20170129 20170302        20170129        20170130        ...        20170228        20170301        20170302
原创粉丝点击