$hours = array();
$heures = Configuration::renvoyer_heures_debut_fin();
$arr_heures = explode('#',$heures->heures_debut_fin);
$start = new \DateTime($arr_heures[0].':00');
$end = clone $start;
$end->setTime($arr_heures[1], 0);
如果$ end的值是17:45,我每次17:00获得
$ start的print_r(真值= 13:30)和$ end(真值= 17:45):
DateTime对象([date] => 2013-08-12 13:30:00 [timezone_type] => 3 [timezone] =>欧洲/柏林)DateTime对象([date] => 2013- 08-12 17:00:00 [timezone_type] => 3 [timezone] =>欧洲/柏林)
第二个DateTime应该是17:45而不是17:00
数组([0] => 13:30 [1] => 17:45)
PHP日志显示了这个错误:
第64行/Applications/MAMP/htdocs/imaginatiff/reservations/PHP/class/Calendrier.class.php中遇到的非格式良好的数值
第64行是$end->setTime($arr_heures[1], 0);
请问您有什么想法吗?谢谢。
答案 0 :(得分:0)
您错误地使用setTime
- 小时和分钟应该是单独的参数。
正确的是:
list ($h, $m) = explode(':', $arr_heures[1]);
$end->setTime($h, $m); // you can omit seconds when zero
当函数不能像你期望的那样工作时,阅读手册是一个好主意。