<?php
include "dbConnect.php";
function getTimeTable($tutorID, $parseDate) {
//'$parseDate'
global $con;
$today = date ( "Y-m-d" );
$time_table_res = mysqli_query ( $con, "SELECT BeginTime, EndTime FROM TimeTable WHERE TutorId = '$tutorID'" );
$timetable = array ();
$num_rows = mysqli_num_rows ( $time_table_res );
if ($num_rows > 0) {
while ( $row = mysqli_fetch_array ( $time_table_res, MYSQLI_ASSOC ) ) {
$begin_time = DateTime::createFromFormat ( 'Y-m-d g:i a', $parseDate . " " . $row ['BeginTime'] );
$end_time = DateTime::createFromFormat ( 'Y-m-d g:i a', $parseDate . " " . $row ['EndTime'] );
while ( $begin_time <= $end_time ) {
$fdate = date_format($begin_time, 'g:i a');
array_push ( $timetable, $fdate );
$begin_time->add ( new DateInterval ( 'PT30M' ) );
}
}
}
return $timetable;
}
?>
嗨,
我是php的新手,如果有任何见解,我将不胜感激。我正在尝试创建一个日程安排系统,但我一直在为时间格式而苦苦挣扎,并阻止它们在军事时间中输出。
这两行尤其会产生错误
$fdate = date_format($begin_time,'g:i a');
$begin_time->add ( new DateInterval ( 'PT30M‘) );
发布于 2017-01-20 17:02:31
如果提供给DateTime::createFromFormat
的日期字符串与第一个参数中提供的格式不匹配,它将无法创建date对象并返回false
。这是您的错误消息"Call to a member function add() on boolean“中提到的布尔值。
您需要更正日期格式或日期字符串,使它们匹配。调试它的最简单方法是调用var_dump($parseDate . " " . $row ['BeginTime'])
,看看字符串在哪些方面与预期的格式不匹配。
https://stackoverflow.com/questions/41768726
复制相似问题