在shell开发中,获取日期的方法
- 获取当前日期:today=
date +"%Y-%m-%d"
- 获取昨天的日期:yesterday=
date -d "-1 day" +"%Y-%m-%d"
- 获取指定日期前N天的日期:date=
date -d "$date -3 day" +"%Y-%m-%d"
其中$date 表示指定的日期,-3表示3天之前,如果是正数,表示N天之后 - 获取当前小时:
time=date | awk '{print $4}' | awk -F':' '{print $1}'
日期格式变换
pay_from=20180316 # 起始日期
pay_end=20180330 # 结束日期
from_date=$(date -d ${pay_from} +'%Y-%m-%d') # from_date=2018-03-16
to_date=$(date -d ${pay_end} +'%Y-%m-%d') # to_date=2018-03-30
生成带日期的文件名
hive -e "select 'hello'" > t1`date`.txt
t1Fri Apr 13 13:24:47 CST 2018.txt
hive -e "select 'hello'" > t2_`date +%Y-%m-%d-%H`.txt
t2_2018-04-13-13.txt
hive -e "select 'hello'" > t2_`date +%Y%m%d%H`.txt #加号前必须有空格
t2_2018041313.txt
hive -e "select 'helloworld'" > t3_`date +%y%m%d%H`.txt
t3_18041313.txt
# %Y%m%d%H Y大写,年份格式有四位2018
# %y%m%d%H y小写,年份格式只有后两位18