2015-12-08 9 views
1

Я пытаюсь изменить формат даты, извлеченной из Parse, в пользовательском столбце. Я пробовал:php - Изменение формата даты в формате timzeone

$query = new ParseQuery("ClassName"); 
$results = $query->find(); 
for ($i = 0; $i < count($results); $i++) { 
    $object = $results[$i]; 
    $date = $object->get("customDateColumn"); 

    echo $date; 

} 

Это echos the Parse По умолчанию часовой пояс, который является UTC. Как я могу преобразовать его в GMT + 8? Я попытался добавить date_timezone_set('Etc/GMT+8') Но это ничего не делает. Надеюсь, вы, ребята, можете мне помочь. Благодаря!

ответ

0

Похоже, что переменная $ date не является объектом Date. Вы можете использовать функцию часового пояса только с объектами Date. Но это не поможет вам, если функция Timezone не конвертирует ваш объект времени, она определяет только часовой пояс по умолчанию для функции time().

+0

Есть ли способ, которым я могу преобразовать '$ date' в объект Date, чтобы я мог преобразовать часовой пояс? –

+0

Да проклятия вы можете разделить свой результат и вставить его в функцию mktime: http://php.net/manual/en/function.mktime.php –

0

Ну, приятель Если вы знаете, в какой часовой пояс была создана дата, и если дата исходит из БД, возможно, вы можете запросить дату с оригинальным TimeZone.

$date = new DateTime("2015-12-03 15:00:00", 'Actual TimeZone which generated this date'); 

$date->setTimezone("GMT + 8 timezone here"); 

echo $date->format('Y-m-d H:i:s'); 
+0

Возможно ли это с помощью Parse? Можете ли вы предоставить несколько примеров кода для этого? –