Читайте MySQL datetime как время Unix - PullRequest
2 голосов
/ 25 марта 2012

У меня есть таблица со столбцом datetime. В эту колонку я записал даты UTC, используя UTC_TIMESTAMP(). Теперь из PHP я хочу получить эту дату в формате UTC как метку времени Unix. Как?

Я знаю о функции UNIX_TIMESTAMP(). Я не уверен, что это надежно, поскольку он использует местный часовой пояс и прочее. Я просто хочу преобразовать дату и время в формате UTC в число секунд с 1970 года ...

Ответы [ 2 ]

3 голосов
/ 25 марта 2012
SELECT UNIX_TIMESTAMP(datetime_field) as timestamp
FROM table

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp

2 голосов
/ 25 марта 2012

В PHP вы бы использовали strtotime().

Редактировать: UNIX_TIMESTAMP использует локальные часовые пояса при преобразовании данных, сохраненных как timestamp, а не данных, хранящихся как datetime. См .: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp и http://dev.mysql.com/doc/refman/5.5/en/datetime.html.

Поскольку вы используете datetime, UNIX_TIMESTAMP должен быть безопасным.

...