shell脚本两个日期值比较

2024年11月23日 02:38
有2个网友回答
网友(1):

这种标准格式的时期应该是无法比较的,你应该给这个时间转化为linux的绝对时间然后比较大小,给你share一个我之前写的一个计算一个命令执行时间的的脚本,你一看就明白了。
#########################
BEGIN=`date +"%Y-%m-%d %H:%M:%S"`
bkup_system|tee -a bkup_time.log
END=`date +"%Y-%m-%d %H:%M:%S"`
print $BEGIN begin back up|tee -a bkup_time.log
print $END end buck up|tee -a bkup_time.log
#时间转化
Sys_data_begin=`date -d "$BEGIN" +%s`
Sys_data_end=`date -d "$END" +%s`
#计算间隔,可以根据间隔的正负来比较你时间的大小
INTER=`expr $Sys_data_end - $Sys_data_begin`
echo Total time do back up is $INTER s|tee -a bkup_time.log
########################

网友(2):

date1=20140101
date2=20140303
if [ $date2 -ge $date1 ]; then
   echo $date2
else
   echo $date1
fi

相等的情况就无所谓哪个了,输出其中的任一个都是一样的。