linux date命令

获取当前日期:

date +"%Y-%m-%d %H:%M:%S"
2021-12-01 14:42:12

获取当前时间戳(单位:秒)

 date +"%s"
1638340875

获取当前时间戳(单位:毫秒)

echo $[`date +"%s"`*1000]
1638341465000

获取10分钟后的日期

date -d "+10 min" +"%Y-%m-%d %H:%M:%S"
2021-12-01 15:11:53

获取指定日期之后十分钟的日期

date -d "2021-10-21 +10min" +"%Y-%m-%d %H:%M:%S"
2021-10-21 00:10:00

example:设置运行10min,但是10min内如果有存活的进程数量小于某个值就停止执行,有可能运行10分钟,有可能运行不到10分钟,

excuteTime=10min
startDate=`date "+%Y-%m-%d %H:%M:%S"`
stop_time=`date -d "$startDate $excuteTime" +"%s"`
while(( `date "+%s"`< $stop_time ))
do
    live_process_num=`ps -ef|grep "fio --client"|grep -v "grep"|wc -l`
    if [ $live_process_num -lt 8 ]
    then
       echo "have fio over"
       break;         
    fi   
done
endDate=`date "+%Y-%m-%d %H:%M:%S"`
echo $endDate

 参考:https://www.cnblogs.com/asxe/p/9317811.html

原文地址:https://www.cnblogs.com/zhaijing/p/15629012.html