一个值得尊敬的PHP Datetime解析器
作者:互联网
echo date('r',strtotime("16 Dec, 2010")); //Tue, 16 Dec 2008 20:10:00 +0530
echo date('r',strtotime("16 Dec 2010")); //Sat, 16 Jan 2010 00:00:00 +0530
那是错误的……要么应该失败,要么应该正确解析.您知道PHP中有任何健壮的自然语言日期/时间解析器吗?您如何解析PHP中的自然语言日期时间?
编辑:
var_dump(strtotime("16 Dec, abcd")); //bool(false)
“ 2010年12月16日”是有效的GNU日期输入格式,或者不是.在第一种情况下,它应返回正确的答案,在第二种情况下,应返回false.这就是我所说的“错误”.
编辑:
正如猜测的那样,目的是接受大量的用户输入.
解决方法:
如果您知道时间在字符串中以什么格式表示,则可以将strptime()与适当的格式字符串一起使用以对其进行解析.无法按照格式解释字符串时,它将至少报告一个错误.
此功能存在于PHP 5.1.0及更高版本中.
如果您想接受用户的任意输入,则应该向用户提供清晰明显的反馈,以便用户可以对错误解释的日期进行处理.在大多数情况下,无论如何都不会有问题,而且您永远也找不到所有有问题的案例(想想美国与欧洲格式).
标签:datetime-parsing,datetime,php 来源: https://codeday.me/bug/20191108/2004644.html