在shell脚本中验证日期(使用BSD日期)

时间:2017-01-20 10:05:38

标签: bash shell unix bsd

我通常使用该命令验证shell脚本中的日期:

date "+%Y-%m-%d" -d "2017-01-28" > /dev/null  2>&1
is_valid=$?

这与GNU日期完美配合..但不适用于BSD日期。 知道怎么用BSD版的日期做同样的事吗?

1 个答案:

答案 0 :(得分:1)

FreeBSD date不支持-d标志,

date -f "%Y-%m-%d" -j "2017-01-28" >/dev/null 2>&1
is_valid=$?

(或)

date -f "%Y-%m-%d" -j "2017-01-28" >/dev/null 2>&1 && printf "Date validation success\n" || printf "Date validation fail\n"