计算字符串日期时间

我有两个变量:

dateTimeNow=$(date -d 'now' +"%Y/%m/%d %H:%M:%S")
tokenExpireDate=$(date -d 'now + 25 minutes' +"%Y/%m/%d %H:%M:%S")

我想检查是否 $tokenExpireDate <= 比 $dateTimeNow

像这样的东西

if [[ "${tokenExpireDate}" <= "${dateTimeNow}" ]]; then echo "hi"; fi

我有:

-bash: syntax error in conditional expression
-bash: syntax error near `"${dateTimeNow}"'

回答

我不确定您是否可以比较这样的字符串,但您可以比较 2 个日期的总秒数:

dateTimeNow=$(date -d 'now' +%s)
tokenExpireDate=$(date -d 'now + 25 minutes' +%s)

然后使用-le-ge运算符进行比较:

if [[ ${tokenExpireDate} -ge ${dateTimeNow} ]]; then echo "hi"; fi


以上是计算字符串日期时间的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>