有没有工具可以测试日期时间是否在给定范围内?

有没有工具可以测试日期时间是否在给定范围内?

我需要开发一个脚本来测试“现在”(例如 的输出date)是否在给定范围内。目前,该范围预计是一个月中的天数列表(例如10,11,12,13,21,22,23)。我可以自己编写代码。

然而,我更愿意使用现有的工具而不是自己编码。我预计范围要求会不断变化,最有可能限制在一天中的某些时间。也许也在一周中的某一天。所以我想到了我们都知道的 cron 语法。

问题:是否有一个工具可以检查给定的日期时间是否在 cron 语法范围“内部”等(不使用 cron 语法的工具也可以)?

答案1

一种可能的方法是使用纪元时间,即从 01.01.1970 00:00 开始的秒数。

首先生成现在的日期和时间:

CDATE=$(date +%s)

然后生成另外两个日期:

F1DATE=$(date -d "11:02 Feb 14 1999" +%s)
F2DATE=$(date -d "12:20 Feb 14 2024" +%s)

然后比较是否CDATEF1DATE和之间F2DATE

if [ "$CDATE -gt "$F1DATE" ] && [ "$CDATE" -lt "$F2DATE" ]
then # do the job
fi

相关内容