我通常使用该命令验证shell脚本中的日期:
date "+%Y-%m-%d" -d "2017-01-28" > /dev/null 2>&1
is_valid=$?
这与GNU日期完美配合..但不适用于BSD日期。 知道怎么用BSD版的日期做同样的事吗?
答案 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"