Я пытаюсь преобразовать дату в объект DateTime. Мой код отлично работает на моем localhost (php version 5.3), но возвращает пустой объект DateTime на моем удаленном сервере (php version 5.2.14). Я пропустил что-то действительно очевидное?Объект DateTime пустой
<?php
$d = '2010-01-01';
$n = new DateTime ($d);
print_r($n);
?>
// результат на локальном хосте:
DateTime Object ([date] => 2010-01-01 00:00:00 [timezone_type] => 3 [timezone] => UTC)
// результат на RemoteHost:
DateTime Object () // is blank
ОБНОВЛЕНО Пример ::
Может быть, я что-то на самом деле просто не хватает. Я пробовал ж/предложение от Pooyan, но я должен быть плотным:
function changeDate (){
$arr = array('2010-01-01' , '2010-01-02' , '2010-01-03');
foreach ($arr as $k=>$v){
$v = new DateTime ($v);
$v->format('Y-m-d');
$arr[$k] = $v;
}
return $arr;
}
print_r(changeDate()); // works in php 5.3 but still returns a blank DateTime Object in php 5.2
вы не должны вызывать date_default_timezone_set несколько раз. Он устанавливает часовой пояс по умолчанию для всех функций в скрипте ... – Paul
Что содержит '$ value [" date "]'? –
Вы могли бы указать примерные даты и как вы проверяете значение datetime впоследствии? Т.е. он может быть реплицирован. – Hamish