一、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