Php DateTime::createFromFormat-找不到两位数的秒
我不知道如何让这段PHP代码将我的时间格式化为MySQL时间格式。一直给我一个错误,说:“找不到两位数的秒” 以下是PHP代码:Php DateTime::createFromFormat-找不到两位数的秒,php,mysql,datetime,Php,Mysql,Datetime,我不知道如何让这段PHP代码将我的时间格式化为MySQL时间格式。一直给我一个错误,说:“找不到两位数的秒” 以下是PHP代码: <?php $timeMeeting = "6:00pm"; $mysqlTimeMeeting = DateTime::createFromFormat('H:i:s', $timeMeeting); echo "time: " . $mysqlTimeMeeting . "<br />"; var_dump(DateTime::g
<?php
$timeMeeting = "6:00pm";
$mysqlTimeMeeting = DateTime::createFromFormat('H:i:s', $timeMeeting);
echo "time: " . $mysqlTimeMeeting . "<br />";
var_dump(DateTime::getLastErrors());
?>
这里有很多错误。错误消息告诉您,您的格式不正确。您没有在
$timeMeeting
中指定的秒数,但您有AM或PM。你也没有24小时的时间,但有12小时的时间,当你回显日期时忘记了格式化日期
基本上,您似乎误解了DateTime::createFromFormat()
的工作原理,因为它要求您使用DateTime当前的格式读取DateTime(您必须告诉它该格式是什么,因为它不是标准格式,否则您就不需要使用此方法),然后以您指定的新格式输出它
<?php
$timeMeeting = "6:00pm";
$mysqlTimeMeeting = DateTime::createFromFormat('h:ia', $timeMeeting);
echo "time: " . $mysqlTimeMeeting->format('H:i:s') . "<br />";
var_dump(DateTime::getLastErrors());
?>
工作完美!谢谢您!