DateTime :: createFromFormat - 无法找到两位数秒

时间:2017-03-18 23:08:18

标签: php mysql datetime

我无法弄清楚如何让这个PHP代码格式化MySQL时间格式的时间。继续给我一个错误说:'无法找到两位数秒'。

这是PHP代码:

<?php
  $timeMeeting = "6:00pm";
  $mysqlTimeMeeting = DateTime::createFromFormat('H:i:s', $timeMeeting);
  echo "time: " . $mysqlTimeMeeting . "<br />";
  var_dump(DateTime::getLastErrors());
?>

1 个答案:

答案 0 :(得分:1)

这里有很多错误。您的格式不正确,因为错误消息告诉您。您没有$timeMeeting中指定的任何秒数,但您确实有AM或PM。您也没有24小时的时间,但是12小时的时间并且在您回复它时忘记格式化日期。

基本上你似乎误解了DateTime::createFromFormat()是如何工作的,因为它要求你使用日期时间当前的格式来读取日期时间(你必须告诉它格式是什么,因为它不是标准的,否则你不会& #39; t需要使用此方法),然后以您指定的新格式输出。

<?php
  $timeMeeting = "6:00pm";
  $mysqlTimeMeeting = DateTime::createFromFormat('h:ia', $timeMeeting);
  echo "time: " . $mysqlTimeMeeting->format('H:i:s') . "<br />";
  var_dump(DateTime::getLastErrors());
?>

Demo