RSS-канал публикует дату-время (GMT) в формате метки времени Unix с использованием PHP - PullRequest
2 голосов
/ 11 мая 2010

Как преобразовать дату и время публикации RSS-канала в GMT в Unix, используя PHP?

Мне нужно сохранить дату в моей таблице в столбце типа данных TIMESTAMP.

Ответы [ 2 ]

4 голосов
/ 18 мая 2010

Можно ли использовать функции PHP для генерации метки времени Unix (т. Е. Секунд с начала эпохи Unix), а затем разрешить MySQL обрабатывать ее оттуда?

PHP: - PHP Документация

$timestamp = strtotime( 'Sat, 07 Sep 2002 09:42:31 GMT' ); // = 1031391751

MySQL: - Документация MySQL

... `timestamp` = FROM_UNIXTIME( 1031391751 ) ...
2 голосов
/ 16 мая 2010

С MySQL Manual :

столбцы TIMESTAMP отображаются в тот же формат, что и столбцы DATETIME. В Другими словами, ширина дисплея фиксируется на 19 символов, а формат это «ГГГГ-ММ-ДД ЧЧ: ММ: СС».

Спецификация RSS 2.0 гласит:

Все даты и время в RSS соответствуют Дата и время Спецификация RFC 822, за исключением того, что год может быть выражен двумя символами или четыре символа (предпочтительно четыре).


Так что, если у нас есть следующая дата RSS:

$timeRSS = 'Sat, 07 Sep 2002 09:42:31 GMT'; // RFC 822

Нам нужно сделать следующее, чтобы преобразовать его в формат MySQL TIMESTAMP:

date_default_timezone_set('GMT'); // make sure we are using the same timezone
date('Y-m-d H:i:s', strtotime($timeRSS)); // 2002-09-07 09:42:31
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...