备注:在linux的shell中,等号左右不要留有空格
修改时间
[root@hadoop14 ~]# date
2016年 07月 31日 星期日 10:00:10 CST
=========================
[root@hadoop14 ~]# date -s 07/27/16
2016年 07月 27日 星期三 00:00:00 CST
[root@hadoop14 ~]# date -s 09:56:38
2016年 07月 27日 星期三 09:56:38 CST
[root@hadoop14 ~]# date
2016年 07月 27日 星期三 09:56:40 CST
年月日
echo `date -d "2 day ago" +%Y%m%d` 前天
`date -d yesterday +%Y%m%d` 昨天
echo `date -d "1 day ago" +%Y%m%d` 昨天
echo `date +%Y%m%d` 今天
echo `date -d "day" +%Y%m%d` 今天
echo `date -d next-day +%Y%m%d` 明天
echo `date -d "1 day" +%Y%m%d` 明天
年月日小时
echo `date +%Y%m%d%H -d '-1 hours'` 上一个小时
echo `date +%Y%m%d%H -d '0 hours'` 当前小时
echo `date +%Y%m%d%H -d '1 hours'` 下一个小时
年月日小时分
echo `date -d '10 min' +%Y%m%d%H%M` 当前加10分钟
echo `date -d '-10 min' +%Y%m%d%H%M`
当前减10分钟
#!/bin/sh
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
s1=`date --date="$1" +%s`
s2=`date --date="$2" +%s`
s3=$((($s2-$s1)/3600/24))
for ((i=$s3; i>0; i--))
do
tmp=`date --date="$2 $i days ago" +%Y%m%d`
hour=0
for ((j=0;j<=23;j++))
do
if [ $j -lt 10 ];then
hour=0$j
else
hour=$j
fi
s5=$tmp$hour
hive -e 'drop table IF EXISTS tongji_sourceclassify_'"$s5"'_result ;'
done
done