Интересно почитать… Блог в котором есть много интересной информации…

14 июля 2011

Русские даты на PHP

Категория: программирование — Метки: — dmitriano @ 0:52

В PHP есть отличная функция для форматирования дат strftime, которую можно использовать следующим образом:

function get_russian_date($datetime)
{
    setlocale(LC_ALL, 'rus');

    $m = strftime("%m", $datetime);

    return strftime("%d %b %Y", $datetime);
}

единственный её недостаток в том, что она не склоняет названия месяцев. Чтобы устранить этот недостаток можно использовать самодельную функцию:

function get_russian_date($datetime)
{
    $d = getdate($datetime);

    switch ($d['mon'])
    {
        case 1: $m='января'; break;
        case 2: $m='февраля'; break;
        case 3: $m='марта'; break;
        case 4: $m='апреля'; break;
        case 5: $m='мая'; break;
        case 6: $m='июня'; break;
        case 7: $m='июля'; break;
        case 8: $m='августа'; break;
        case 9: $m='сентября'; break;
        case 10: $m='октября'; break;
        case 11: $m='ноября'; break;
        case 12: $m='декабря'; break;
    }    

    return $d['mday'] . ' ' . $m . ' ' . $d['year'];
}
Линии 3D/Шарики 3D

2 комментария »

  1. Чудесно! Только вместо свича лучше использовать массив: $months = array(‘нулябрь’, ‘январь’, ‘февраль’, ‘март’, ‘апрель’, ‘май’, ‘июнь’, ‘июль’, ‘август’, ‘сентябрь’, ‘октябрь’, ‘ноябрь’, ‘декабрь’);
    А далее: $month = $months[$d[‘mon’]];

    Комментарий от Holy Diver — 22 августа 2011 @ 20:12

  2. на С++ массив обычно лучше чем switch, а вот на PHP даже не знаю, ведь тут получается, что мы создаём массив только для того, чтобы один раз взять из него элемент. Есть в PHP аналог C++ -го статического массива?

    Комментарий от admin — 26 августа 2011 @ 12:28

RSS feed for comments on this post. TrackBack URL

Leave a comment

SlogPost.ru