Форум
Как найти даты RSS-канала
?2012-09-18
Рик
Привет, у меня вопрос о прекрасно работающем RSS-плеере. Я видел пост об этом на форуме, но все равно не приходит к ожидаемому результату.
Я живу в Голландии, поэтому все по-голландски, но дата отображается так: Sat, 15 сентября 2012, 00:00:00 GMT. Как я могу это изменить? С форматом даты PHP, но куда мне положить это в файле rsslib? Привет, Рик.
Я живу в Голландии, поэтому все по-голландски, но дата отображается так: Sat, 15 сентября 2012, 00:00:00 GMT. Как я могу это изменить? С форматом даты PHP, но куда мне положить это в файле rsslib? Привет, Рик.
2012-09-18
скриптол
Привет.
На самом деле дата - это строка, извлеченная из тега pubdate. Формат тот, который дает генератор RSS, ты можешь это изменить, в Сети наверняка есть какой-то скрипт для этого.
Это то, что вы можете изменить в функции RSS_tags :
Искренне,
веб-мастер
На самом деле дата - это строка, извлеченная из тега pubdate. Формат тот, который дает генератор RSS, ты можешь это изменить, в Сети наверняка есть какой-то скрипт для этого.
Это то, что вы можете изменить в функции RSS_tags :
$y["date"] = convert($date);Элемент convert должен быть добавлен.
Искренне,
веб-мастер
2013-04-11 18:58:01
Скриптол
Моя работа по ответу на недавний вопрос дает дополнительную информацию по этой проблеме.
Сначала нужно удалить день недели в начале :
Таким образом, функция convert может выглядеть так :
Сначала нужно удалить день недели в начале :
$phpdate = substr($y['date'],5);или в зависимости от функции, в которую вы хотите положить код :
$phpdate = substr($date,5);Затем ты преобразуешь дату в метку времени:
$timestamp = strtotime($phpdate);Наконец, ты можешь показать дату в любом формате и любой локации с соответствующей функцией :
setlocale(LC_TIME, "nl_NL"); $pubdate = strftime("%V,%G,%Y", $timestamp);$ pubdate теперь должен отображаться вместо $ y ['date']; Можно перечитать «nl_NL» по локализации любой страны (для Франции это было бы fr_FR).
Таким образом, функция convert может выглядеть так :
function convert($d) { $phpdate = substr($d, 5); $timestamp = strtotime($phpdate); setlocale(LC_TIME, "nl_NL"); return strftime("%V,%G,%Y", $timestamp); }