我正在尝试从输入中接收数据,我将其从“文本”更改为“时间”选择器。现在,当数据进入时,它会产生下面列出的以下错误。我理解为什么会这样,但不知道在何处以及如何更改代码,以便代码可以处理PHP“时间”输入。
错误:
!=
相关守则:
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (013:59) at position 0 (0): Unexpected character' in C:\xampp\htdocs\index.php:240 Stack trace: #0 C:\xampp\htdocs\index.php(240): DateTime->__construct('013:59') #1 C:\xampp\htdocs\index.php(84): format_time('13:59') #2 {main} thrown in C:\xampp\htdocs\index.php on line 240
答案 0 :(得分:0)
我不确定你为什么要检查输入长度为6以下。正确的时间输入长度为5(例如12:34
),所以至少你应该使用
if(strlen($time) != 5)
然而,这也可能并不总是正确的 - 但我不确定您是如何构建$time
字符串的。
答案 1 :(得分:0)
我认为你的时间格式应该是这样的xx:xx,我没有尝试过你的代码,但你可以使用正则表达式检查要解析的字符串'/ ^ \ d {2}:\ d {2} $ /'< / p>
使用DateTime :: CreateFromFormat创建ur日期对象。