создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

PHP. Руководство по PHP. 2005

strftimeПред.

След.

strftime

(PHP 3, PHP4, PHP 5)strftime -- Форматирует текущую дату/время с учетом текущей локали

Описание

string strftime (string format [, int timestamp])

Возвращает строку, отформатированную в соответствии с аргументом format, используя аргумент timestamp или текущее системное время, если этот аргумент не передан. Названия месяцев, дней недели и другие строки, зависящие от языка, соответствуют текущей локали, установленной функцией setlocale().

В форматирующей строке распознаются следующие символы:

  • %a - сокращенное название дня недели в текущей локали
  • %A - полное название дня недели в текущей локали
  • %b - сокращенное название месяца недели в текущей локали
  • %B - полное название месяца недели в текущей локали
  • %c - предпочтительный формат даты и времени в текущей локали
  • %C - столетие (год, деленный на 100 и огругленный до целого, от 00 до 99)
  • %d - день месяца в виде десятичного числа (от 01 до 31)
  • %D - аналогично %m/%d/%y
  • %e - день месяца в виде десятичного числа, если это одна цифра, то перед ней добавляется пробел (от ' 1' до '31')
  • %g - подобно %G, но без столетия.
  • %G - Год, 4-значное число, соответствующее номеру недели по ISO (см. %V). Аналогично %Y, за исключением того, что если номер недели по ISO соответствует предыдущему или следующему году, используется соответствующий год.
  • %h - аналогично %b
  • %H - номер часа от 00 до 23
  • %I - номер часа от 01 до 12
  • %j - номер дня в году (от 001 до 366)
  • %m - номер месяца (от 01 до 12)
  • %M - минуты
  • %n - символ "\n"
  • %p - `am' или `pm', или соответствующие строки в текущей локали
  • %r - время в формате a.m. или p.m.
  • %R - время в 24-часовом формате
  • %S - секунды
  • %t - символ табуляции ("\t")
  • %T - текущее время, аналогично %H:%M:%S
  • %u - номер дня недели от 1 до 7, где 1 соответствует понедельнику
    Внимание
    - На Sun Solaris 1 соответствует воскресенью, хотя в ISO 9889:1999 (текущий стандарт языка C) явно указано, что это должен быть понедельник.
  • %U - порядковый номер недели в текущем году. Первым днем первой недели в году считается первое воскресенье года.
  • %V - Порядковый номер недели в году по стандарту ISO 8601:1988 от 01 до 53, где 1 соответствует первой неделе в году, в которой как минимум 4 дня принадлежат этому году. Первым днем недели считается понедельник. (Используйте %G or %g для определения соответствующего года)
  • %W - порядковый номер недели в текущем году. Первым днем первой недели в году считается первый понедельник года.
  • %w - номер дня недели, 0 соответствует воскресенью
  • %x - предпочтительный формат даты без времени в текущей локали
  • %X - предпочтительный формат времени без даты в текущей локали
  • %y - год без столетия (от 00 до 99)
  • %Y - год, включая столетие
  • %Z - временная зона в виде смещения, аббривеатуры или полного наименования
  • %% - символ `%'

    Замечание: strftime() использует функции операционной системы, поэтому отдельные форматирующие символы могут не работать в вашей операционной системе. Кроме того, не все платформы поддерживают отрицательные метки времени support negative timestamps. Это значит, что %e, %T, %R и %D (а возможно и другие) и даты до Jan 1, 1970 не поддерживаются Windows, некоторыми версиями Linux и некоторыми другими операционными системами. Список форматирующих символов, поддерживаемых Windows, можно найти на сайте MSDN.

    Пример 1. Пример использования функции strftime() с разными локалями

    <?

    setlocale(LC_TIME, "C");

    echo strftime("%A");

    setlocale(LC_TIME, "fi_FI");

    echo strftime(" по-фински - %A,");

    setlocale(LC_TIME, "fr_FR");

    echo strftime(" по-французски - %A и");

    setlocale(LC_TIME, "de_DE");

    echo strftime(" по-немецки - %A.\n");

    ?>

    Этот пример будет работать, если на вашей системе установлены соответствующие локали.

    Замечание: %G and %V, которые основаны на номере недели по ISO 8601:1988, Могут давать результат, отличный от ожидаемого, если вы не полностью понимаете систему нумерации, используемую этим стандартом. Смотрите описание %V выше и следующий пример.

    Пример 2. Пример номеров недели по ISO 8601:1988

    <?

    /*Декабрь 2002 / Январь 2003

    ISO Пн Вт Ср Чт Пт Сб Вс

    ----- ----------------------------

    51 16 17 18 19 20 21 22

    52 23 24 25 26 27 28 29

    1 30 31 1 2 3 4 5

    2 6 7 8 9 10 11 12

    3 13 14 15 16 17 18 19*/

    //Вывод: 12/28/2002 - %V,%G,%Y = 52,2002,2002

    echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";

    //Вывод: 12/30/2002 - %V,%G,%Y = 1,2003,2002

    echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";

    //Вывод: 1/3/2003 - %V,%G,%Y = 1,2003,2003

    echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

    //Вывод: 1/10/2003 - %V,%G,%Y = 2,2003,2003

    echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";

    /*Декабрь 2004 / Январь 2005

    ISO Пн Вт Ср Чт Пт Сб Вс

    ----- ----------------------------

    51 13 14 15 16 17 18 19

    52 20 21 22 23 24 25 26

    53 27 28 29 30 31 1 2

    1 3 4 5 6 7 8 9

    2 10 11 12 13 14 15 16*/

    //Вывод: 12/23/2004 - %V,%G,%Y = 52,2004,2004

    echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

    //Вывод: 12/31/2004 - %V,%G,%Y = 53,2004,2004

    echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

    //Вывод: 1/2/2005 - %V,%G,%Y = 53,2004,2005

    echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

    //Вывод: 1/3/2005 - %V,%G,%Y = 1,2005,2005

    echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

    ?>

    См. также описание функций setlocale(), mktime(), и - спецификацию strftime() Open Group.

    Пред.

    Начало

    След.

    mktime

    Уровень выше

    strptime

  • Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

    Ваше письмо×
    Free Web Hosting