2010-12-15 5 views

ответ

6
<?php 
    $ts = strtotime("2010-08-22T04:46:18.000Z"); 
    echo date("Y-m-d H:i:s", $ts); 
?> 

Это возвращает 2010-08-22 09:46:18 в мою систему. Понимаете, временной раздел даты включает информацию о часовом поясе (Z для времени zulu), поэтому дата, возвращаемая данными Google api, равна Aug/22/2010 04:46:18 GMT. Мой компьютер находится в +5 GMT, поэтому часть времени переводится на 09:46:18 по местному времени. Надеюсь, это все объясняет.

3

звучит как strtotime - это то, что вы ищете.

EDIT: если это не работает, посмотрите на Date and Time classes - есть методы для разбора дат в определенных форматах (like this - не возвращает метку времени непосредственно, но если вы строите DateTime из этого , вы можете использовать его getTimestamp -метод)

+0

strtotime не возвращает правильную временную метку для этого формата даты! – 2010-12-15 09:32:32

+0

@doublethink: пожалуйста, взгляните на мое редактирование. – oezi 2010-12-15 09:42:37

0

Попробуйте это:

$date=substr("2010-08-22T04:46:18.000z",0,strlen("2010-08-22T04:46:18.000z")-1); 
$stamp=strtotime($date); 

«г» в конце, кажется, проблема для StrToTime.