linux中用date进行简单的日期计算方法

发布时间:2019-09-15编辑:脚本学堂
linux中用date进行简单的日期计算方法,供参考。

linux中用date进行简单的日期计算方法,供参考。

1)计算 20110101 - 20110202 之间有多少天?
date -f <(seq 20110101 20110202) +%F  2>/dev/null  | wc -l

[解析]
-f 参数从文件中读取每一行给 date 作为 +%F 日期输出,如果是错误的日期当然就会报错,这里屏蔽到错误信息。能输出的就是可用的日期了然后记数。

2)计算 20110101 - 20110202 之间有多少个工作日,排除周六和周日?
date -f <(seq -f"%.f" 20110101 20110202) +%u 2>/dev/null | grep [1-5] | wc -l

[解析]
同样只输入星期几,然后用 grep 过滤到6和7。记数。