检查是否使用时间戳bash脚本
说我有一堆时间戳检查是否使用时间戳bash脚本
当我遍历这些时间戳,
01:23:00
12:34:14
17:09:12
...
我想包括:00至08:00仅时间戳是在一定的范围内: 00和17:00:00
请建议
你可以做一个简单的字符串比较:
if [[ "$timestamp" > "08:00:00" && "$timestamp" < "17:00:00" ]]
如果你希望在你的范围的两端,你要测试的是分别,因为击不具有>=
或<=
运营商字符串:
start="08:00:00"
end="17:00:00"
if [[ "$timestamp" == "$start" ||
"$timestamp" > "$start" && "$timestamp" < "$end" ||
"$timestamp" == "$end" ]]
我不知道我们可以比较像这样的时间戳... +1您看到的任何可能的陷阱? – 2013-07-10 18:02:33
@JS웃:我演示的例子使用了词法比较,OP的例子都是词法排序的,所以没有我在这些条件下看不到任何陷阱。你甚至可以用完整的[ISO 8601](http://en.wikipedia.org/wiki/ISO_8601)(或类似的)日期来完成。如果您使用的是Unix纪元时间戳,只需使用数字比较'if((epoch_1> = epoch_2))' – 2013-07-11 00:01:10
谢谢@DennisWilliamson – 2013-07-11 01:23:56
@Andrei - 假定这些是几小时:分钟:秒 - 是那个时间窗口固定,例如你可能需要一个跨越午夜的时间窗口吗? – 2010-05-25 13:55:05
[比较时间使用日期命令]可能的重复(http://*.com/questions/2899110/compare-time-using-date-command) – Cascabel 2010-05-25 13:55:42
这和你以前的问题的唯一区别是,现在你说你重新循环一些输入。如果你需要帮助循环,询问一下。如果您需要更多日期/时间比较帮助,请编辑或评论您之前的问题。 – Cascabel 2010-05-25 13:56:45