一、hour
#獲取當前時間年月日時分秒
current_create_time=`date +"%Y-%m-%d %H:%M:%S"` echo $current_create_time #獲取當前時間向前一小時的時間(年月日時分秒) timeFlag=`date -d "60 minute ago" +"%Y-%m-%d %H:%M:%S"`
#獲取當前時間向前一小時的時間(年月日時) timeFlag1=${timeFlag:0:13} echo $timeFlag1
#獲取當前時間向前10分鍾(年月日時分秒) timeend=`date -d "10 minute ago" +"%Y-%m-%d %H:%M:%S"` echo $timeend
#獲取當前時間向前1小時10分鍾(年月日時分秒) timestart=`date -d "70 minute ago" +"%Y-%m-%d %H:%M:%S"` echo $timestart # query start time query_start_time=`date +"%Y-%m-%d %H:%M:%S"` #將時間轉為時間戳 query_start_time_timestamp=`date -d "$query_start_time" +%s` # query end time query_end_time=`date +"%Y-%m-%d %H:%M:%S"` #將時間轉為時間戳 query_end_time_timestamp=`date -d "$query_end_time" +%s` # query time-consuming
#時間差值計算 query_time_time_consuming=`expr $query_end_time_timestamp - $query_start_time_timestamp` echo query_time_time_consuming:$query_time_time_consuming
二、day
#當前時間
current_create_time=`date +"%Y-%m-%d %H:%M:%S"`
#當前時間向前一天(年月日時分秒) timeFlag=`date -d "1 day ago" +"%Y-%m-%d %H:%M:%S"`
#當前時間向前一天(年月日) timeFlag1=${timeFlag:0:11} #當前時間向前一天 timestart=`date -d "1 day ago" +"%Y-%m-%d %H:%M:%S"`
#將時間轉為時間戳 timestart1=`date -d "$timestart" +%s` #10分鍾 time1=$((10*60)) time2=$(($timestart1-$time1)) #將計算好的時候格式化,得到當前時間前一天零10分鍾的時間 timestart_new=`date -d @$time2 "+%Y-%m-%d %H:%M:%S"` echo timestart_new:$timestart_new
三、work
#獲取當前時間一周前的時間(年月日時分秒)
timeFlag=`date -d "-7 days" +"%Y-%m-%d %H:%M:%S"`
#獲取當前時間一周前的實際(年月日) echo $timeFlag timeFlag1=${timeFlag:0:11} #計算這個timeflag的日期是當前年的第幾周 a=$(date +%W)
四、month
#獲取當前時間的上一個月(精確到月) timeFlag=`date -d "$(date +%Y-%m)-01 last month" +%Y-%m` #獲取當前時間的前10分鍾 timeend=`date -d "10 minute ago" +"%Y-%m-%d %H:%M:%S"` #獲取當前時間的前一個月 timestart=`date -d "1 month ago" +"%Y-%m-%d %H:%M:%S"` #獲取當前時間的前一個月零10分鍾(通過當前時間的前一個月再減去10分鍾),先格式化為時間戳 timestart1=`date -d "$timestart" +%s` #10分鍾 time1=$((10*60)) time2=$(($timestart1-$time1)) #將計算好的時候格式化,得到當前時間前一個月零10分鍾的時間 timestart_new=`date -d @$time2 "+%Y-%m-%d %H:%M:%S"` echo timestart_new:$timestart_new