在什么条件下这段代码会给出错误的输出?

时间:2015-02-10 10:34:48

标签: shell date

我必须每天从给定的开始日期到结束日期运行脚本。我在互联网上找到了这段代码。

#!/bin/bash
beg_s=`date -d "$1" +%s` # arguments format like 20150101
end_s=`date -d "$2" +%s`

while [ "$beg_s" -le "$end_s" ];do
    day=`date -d @$beg_s +"%Y%m%d"`;
    # run my script
    beg_s=$((beg_s+86400));
done

我知道它从日期解析秒数并递增86400,即每个循环一天的总秒数。由于存在leap second,我的问题是在什么条件下这段代码会给出错误的输出。到目前为止似乎很好。

0 个答案:

没有答案