我有一个
Shell脚本,它使用用户输入的日期和时间参数.
日期为mm / dd / yyyy,时间为HH:MM.
什么是检查用户输入正确日期最简单的方法[像月份应该少于12 ….对于时间MM应该小于60 …
我们在UNIX中是否有任何内置函数来检查时间戳? 最佳答案 您可以使用unix日期工具为您解析和验证它,并测试返回代码,例如
有效日期,返回码为0:
joel@bohr:~$date -d "12/12/2000 13:00"
Tue Dec 12 13:00:00 GMT 2000
joel@bohr:~$echo $?
0
无效日期,返回码1:
joel@bohr:~$date -d "13/12/2000 13:00"
date: invalid date `13/12/2000 13:00'
joel@bohr:~$echo $?
1
您可以使用FORMAT选项(man date)更改按日期接受的输入格式
把它们放在一起作为一个小脚本:
usrdate=$1
date -d "$usrdate" > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Date $usrdate was valid"
else
echo "Date $usrdate was invalid"
fi