php中如何校验日期时间的有效性
php中有系统函数checkdate()
来校验日期的合法性,但时间的合法性只能自己写吗?这样要分开校验日期和时间,有什么方法可以一次性校验吗?
我也有看jenssegers/date
和nesbot/carbon
,但我没找到校验日期时间的方法,我也 Google 查到了这个问题How To Check is a string is a valid date,但并没有能解决我的问题,请问如何解决该问题?
自己简单写了一下校验:
$dt = '2017-7-3 23:90:99';
$dt_arr = explode(' ', $dt);
list($year, $month, $day) = explode('-', $dt_arr[0]);
list($hour, $minute, $second) = explode(':', $dt_arr[1]);
if(!checkdate($month, $day, $year) || $hour < 0 || $minute < 0 || $second < 0 || $hour > 23 || $minute > 59 || $second > 59) {
echo 'Invalided datetime';
} else {
echo 'OK';
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不知道这样会不会显得太low
你所说的事件合法性到底指的是什么呢? 看了你判断逻辑 , $res = strtotime($dt); 看看能不能转换成时间戳,不能转换就是不合法的!