1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

дата в формат RFC 2822

Тема в разделе "Web Coding", создана пользователем uadesign, 2 фев 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. uadesign

    uadesign

    Регистр.:
    20 апр 2006
    Сообщения:
    341
    Симпатии:
    134
    Вообщем проблема
    делаю rss лента
    там нужно конвертиь дату в RFC 2822

    с этим и возникают проблемы
    $result = dbquery("SELECT * FROM news ORDER BY date DESC LIMIT 0,1");
    $data = dbarray($result);
    $lnd = $data['date'];
    $upldt = date("r",$lnd); // конвертация даты в формат RFC 2822
    echo "<lastBuildDate>$upldt</lastBuildDate>
    ";


    в базе формат даты - 2007-11-21

    а скрипт выдает
    Thu, 01 Jan 1970 03:33:28 +0300
     
  2. itex

    itex

    Регистр.:
    15 ноя 2007
    Сообщения:
    274
    Симпатии:
    64
    Используй функцию int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] ).
    Тоесть $lnd в параметрах к date() должно иметь Юникс тайм формат.
     
  3. uadesign

    uadesign

    Регистр.:
    20 апр 2006
    Сообщения:
    341
    Симпатии:
    134
    ааа, какбы это написать, я просто не программер
    а код сверху был в скрипте готовом
     
  4. pll

    pll Создатель

    Регистр.:
    29 дек 2007
    Сообщения:
    28
    Симпатии:
    5
    PHP:
    function DataRFC2822($str) {
        
    $str explode("-"$str);  
        
    $d date("r"mktime(000$str[1], $str[2], $str[0]));
        return 
    $d;        
    }

    echo 
    DataRFC2822("2007-11-21");
    Читать от date() mktime() explode() до ;)
     
  5. uadesign

    uadesign

    Регистр.:
    20 апр 2006
    Сообщения:
    341
    Симпатии:
    134
    помогло простое $lnd = strtotime($data['date']);
     
Статус темы:
Закрыта.