Форум

Как найти даты RSS-канала

?
2012-09-18

Рик

Привет, у меня вопрос о прекрасно работающем RSS-плеере. Я видел пост об этом на форуме, но все равно не приходит к ожидаемому результату.
Я живу в Голландии, поэтому все по-голландски, но дата отображается так: Sat, 15 сентября 2012, 00:00:00 GMT. Как я могу это изменить? С форматом даты PHP, но куда мне положить это в файле rsslib? Привет, Рик.
2012-09-18

скриптол

Привет.
На самом деле дата - это строка, извлеченная из тега pubdate. Формат тот, который дает генератор RSS, ты можешь это изменить, в Сети наверняка есть какой-то скрипт для этого.
Это то, что вы можете изменить в функции RSS_tags :
$y["date"] = convert($date);
Элемент convert должен быть добавлен.
Искренне,
веб-мастер
2013-04-11 18:58:01

Скриптол

Моя работа по ответу на недавний вопрос дает дополнительную информацию по этой проблеме.
Сначала нужно удалить день недели в начале :
$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);
}