PHP输入错误 - 字符串到时间输入

时间:2017-02-02 20:50:06

标签: php

我正在尝试从输入中接收数据,我将其从“文本”更改为“时间”选择器。现在,当数据进入时,它会产生下面列出的以下错误。我理解为什么会这样,但不知道在何处以及如何更改代码,以便代码可以处理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

2 个答案:

答案 0 :(得分:0)

我不确定你为什么要检查输入长度为6以下。正确的时间输入长度为5(例如12:34),所以至少你应该使用

if(strlen($time) != 5)

然而,这也可能并不总是正确的 - 但我不确定您是如何构建$time字符串的。

答案 1 :(得分:0)

我认为你的时间格式应该是这样的xx:xx,我没有尝试过你的代码,但你可以使用正则表达式检查要解析的字符串'/ ^ \ d {2}:\ d {2} $ /'< / p>

使用DateTime :: CreateFromFormat创建ur日期对象。