计算字符串日期时间
我有两个变量:
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