在Linux中,時間戳是從1970年1月1日(UTC)開始經過的秒數。要比較兩個時間戳,你可以使用以下方法:
-gt
、-lt
、-ge
、-le
等bash比較運算符:timestamp1=1632990000
timestamp2=1633000000
if [ $timestamp1 -gt $timestamp2 ]; then
echo "timestamp1 大于 timestamp2"
elif [ $timestamp1 -lt $timestamp2 ]; then
echo "timestamp1 小于 timestamp2"
else
echo "timestamp1 等于 timestamp2"
fi
expr
命令:timestamp1=1632990000
timestamp2=1633000000
if [ $(expr $timestamp1 -gt $timestamp2) -eq 1 ]; then
echo "timestamp1 大于 timestamp2"
elif [ $(expr $timestamp1 -lt $timestamp2) -eq 1 ]; then
echo "timestamp1 小于 timestamp2"
else
echo "timestamp1 等于 timestamp2"
fi
awk
命令:timestamp1=1632990000
timestamp2=1633000000
result=$(awk "BEGIN {if ($timestamp1 > $timestamp2) print '大于' ; else if ($timestamp1 < $timestamp2) print '小于' ; else print '等于'}")
echo "$timestamp1 $result $timestamp2"
這些方法適用于整數時間戳。如果你需要比較浮點數時間戳,可以使用bc
命令進行浮點數比較:
timestamp1=1632990000.123
timestamp2=1633000000.456
result=$(bc -l <<< "if ($timestamp1 > $timestamp2) 1 else if ($timestamp1 < $timestamp2) -1 else 0")
if [ $result -eq 1 ]; then
echo "timestamp1 大于 timestamp2"
elif [ $result -eq -1 ]; then
echo "timestamp1 小于 timestamp2"
else
echo "timestamp1 等于 timestamp2"
fi
這些示例展示了如何在Linux中比較時間戳。你可以根據自己的需求選擇合適的方法。