Уже есть пара вопросов, но они мало помогли. Ниже приведен код.
<?php
$from_date='2017-01-14';
$from_week=date("W",strtotime($from_date));
$year=date("Y",strtotime($from_date));
$currentweek = date("W");
for($i=$from_week;$i<=$currentweek;$i++) {
$result=getWeek($i,$year);
echo "Week:".$i." Start date:".$result['start']." End
date:".$result['end']."<br>";
}
function getWeek($week, $year) {
$dto = new DateTime();
//ERROR HERE//$result['start'] = $dto->setISODate($year, $week, 0)->format('Y-m-d');
$result['end'] = $dto->setISODate($year, $week, 6)->format('Y-m-d');
return $result;
}
?>
Прекрасно работает с онлайн-редакторами php. Я использую LAMP и PHP версии 5.2.4
Должна ли версия PHP вызывать какие-либо ошибки в этом? Любая помощь высоко ценится! Спасибо за вклад заранее.
Ответ — да, версия PHP имеет значение.
если ты прочитайте руководство для setISODate()
, в нем четко говорится:
Версия: 5.3.0 Изменено возвращаемое значение в случае успеха с NULL на DateTime.
Вам следует действительно обновить версию PHP. 5.2.4 был релиз о десять лет назад (30 августа 2007 г.) и уже давно не поддерживается
Других решений пока нет …