Updated translation.

git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@308584 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Shein Alexey
2011-02-23 08:41:32 +00:00
parent 7a4cf9fa34
commit a27a25a8b5

View File

@ -1,239 +1,401 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: n/a Maintainer: blindman Status: ready -->
<!-- EN-Revision: 69f8b369aa571615f417d59d7ab9d0040fb580a4 Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<!-- $Revision$ -->
<!-- splitted from ./en/functions/datetime.xml, last change in rev 1.2 -->
<refentry xml:id="function.strftime" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>strftime</refname>
<refpurpose>Форматирует текущую дату/время с учетом текущей локали</refpurpose>
</refnamediv>
<refsect1>
<title>Описание</title>
<methodsynopsis>
<type>string</type><methodname>strftime</methodname>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>
timestamp
</parameter></methodparam>
</methodsynopsis>
<para>
Возвращает строку, отформатированную в соответствии с аргументом
<parameter>format</parameter>, используя аргумент
<parameter>timestamp</parameter> или текущее системное время, если
этот аргумент не передан. Названия месяцев, дней недели и другие
строки, зависящие от языка, соответствуют текущей локали,
установленной функцией <function>setlocale</function>.
</para>
<para>
<function>strftime</function> использует функции операционной
системы, поэтому отдельные форматирующие символы могут не работать
в вашей операционной системе. Кроме того, не все платформы
поддерживают отрицательные метки времени. Это значит, что %e, %T, %R и %D
(а возможно и другие) и даты до <literal>Jan 1, 1970</literal> не
поддерживаются Windows, некоторыми версиями Linux и некоторыми
другими операционными системами. Список форматирующих символов,
поддерживаемых Windows, можно найти на
<link xlink:href="&url.strftime.win32;">сайте <acronym>MSDN</acronym></link>.
</para>
<para>
В форматирующей строке распознаются следующие символы:
<itemizedlist>
<listitem>
<refentry xml:id="function.strftime" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>strftime</refname>
<refpurpose>Форматирует текущую дату/время с учетом текущих настроек локали</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>strftime</methodname>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>timestamp</parameter><initializer>time()</initializer></methodparam>
</methodsynopsis>
<para>
Форматирует дату/время с учетом текущих настроек локали. Названия
месяцев, дней недели и других языко-зависимых строк будут взяты
в соответствии с текущими настройками локали, установленной с
помощью функции <function>setlocale</function>.
</para>
<para>
Ваша C-библиотека может не поддерживать все форматирующие
параметры, в этом случае они будут недоступны функции
<function>strftime</function>. Кроме того, не все платформы
поддерживают отрицательные метки времени, так что поддерживаемый
диапазон дат на этих платформах будет ограничен Эпохой Unix. Это
значит, что %e, %T, %R и %D (а возможно и другие параметры),
как и даты до <literal>Jan 1, 1970</literal>, не поддерживаются
Windows, некоторыми версиями Linux и некоторыми другими
операционными системами. Список форматирующих символов,
поддерживаемых Windows, можно найти на
<link xlink:href="&url.strftime.win32;">сайте <acronym>MSDN</acronym></link>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>format</parameter></term>
<listitem>
<para>
<table>
<title>Распознаются следующие символы в строке
<parameter>format</parameter></title>
<tgroup cols="3">
<thead>
<row>
<entry><parameter>format</parameter></entry>
<entry>Описание</entry>
<entry>Пример возвращаемых значений</entry>
</row>
</thead>
<tbody>
<row>
<entry align="center"><emphasis>День</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>%a</literal></entry>
<entry>Сокращенное название дня недели</entry>
<entry>От <literal>Sun</literal> до <literal>Sat</literal></entry>
</row>
<row>
<entry><literal>%A</literal></entry>
<entry>Полное название дня недели</entry>
<entry>От <literal>Sunday</literal> до <literal>Saturday</literal></entry>
</row>
<row>
<entry><literal>%d</literal></entry>
<entry>Двухзначное представление дня месяца (с ведущими нулями)</entry>
<entry>От <literal>01</literal> до <literal>31</literal></entry>
</row>
<row>
<entry><literal>%e</literal></entry>
<entry>
День месяца, с ведущим пробелом, если он состоит из одной цифры.
На Windows реализован не так, как описано. Подробнее смотрите ниже.
</entry>
<entry>От <literal> 1</literal> до <literal>31</literal></entry>
</row>
<row>
<entry><literal>%j</literal></entry>
<entry>Порядковый номер в году, 3 цифры с ведущими нулями</entry>
<entry>От <literal>001</literal> до <literal>366</literal></entry>
</row>
<row>
<entry><literal>%u</literal></entry>
<entry>Порядковый номер дня недели согласно стандарту ISO-8601</entry>
<entry>От <literal>1</literal> (понедельник) до <literal>7</literal> (воскресенье)</entry>
</row>
<row>
<entry><literal>%w</literal></entry>
<entry>Порядковый номер дня недели</entry>
<entry>От <literal>0</literal> (воскресенье) до <literal>6</literal> (суббота)</entry>
</row>
<row>
<entry align="center"><emphasis>Неделя</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>%U</literal></entry>
<entry>Порядковый номер недели в указанном году, начиная с первого
воскресенья в качестве первой недели</entry>
<entry><literal>13</literal> (для полной 13-й недели года)</entry>
</row>
<row>
<entry><literal>%V</literal></entry>
<entry>Порядковый номер недели в указанном году в соответствии со
стандартом ISO-8601:1988, счет начинается с той недели, которая содержит
минимум 4 дня, неделя начинается с понедельника</entry>
<entry>От <literal>01</literal> до <literal>53</literal> (где 53
указывает на перекрывающуюся неделю)</entry>
</row>
<row>
<entry><literal>%W</literal></entry>
<entry>Порядковый номер недели в указанном году, начиная с
первого понедельника в качестве первой недели</entry>
<entry><literal>46</literal> (для 46-й недели года,
начинающейся с понедельника)</entry>
</row>
<row>
<entry align="center"><emphasis>Месяц</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>%b</literal></entry>
<entry>Аббревиатура названия месяца, в соответствии с настройками локали</entry>
<entry>От <literal>Jan</literal> до <literal>Dec</literal></entry>
</row>
<row>
<entry><literal>%B</literal></entry>
<entry>Полное название месяца, в соответствии с настройками локали</entry>
<entry>От <literal>January</literal> до <literal>December</literal></entry>
</row>
<row>
<entry><literal>%h</literal></entry>
<entry>Аббревиатура названия месяца, в соответствии с настройками локали (псевдоним %b)</entry>
<entry>От <literal>Jan</literal> до <literal>Dec</literal></entry>
</row>
<row>
<entry><literal>%m</literal></entry>
<entry>Двухзначный порядковый номер месяца</entry>
<entry>От <literal>01</literal> (январь) до <literal>12</literal> (декабрь)</entry>
</row>
<row>
<entry align="center"><emphasis>Год</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>%C</literal></entry>
<entry>Двухзначный порядковый номер столетия (год, деленный на 100, усеченный до целого)</entry>
<entry><literal>19</literal> для 20-го века</entry>
</row>
<row>
<entry><literal>%g</literal></entry>
<entry>Двухзначный номер года в соответствии со стандартом ISO-8601:1988 (см. %V)</entry>
<entry>Пример: <literal>09</literal> для недели 6 января 2009</entry>
</row>
<row>
<entry><literal>%G</literal></entry>
<entry>Полная четырехзначная версия %g</entry>
<entry>Пример: <literal>2008</literal> для недели 3 января 2009</entry>
</row>
<row>
<entry><literal>%y</literal></entry>
<entry>Двухзначный порядковый номер года</entry>
<entry>Пример: <literal>09</literal> для 2009, <literal>79</literal> для 1979</entry>
</row>
<row>
<entry><literal>%Y</literal></entry>
<entry>Четырехзначный номер года</entry>
<entry>Пример: <literal>2038</literal></entry>
</row>
<row>
<entry align="center"><emphasis>Время</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>%H</literal></entry>
<entry>Двухзначный номер часа в 24-часовом формате</entry>
<entry>От <literal>00</literal> до <literal>23</literal></entry>
</row>
<row>
<entry><literal>%I</literal></entry>
<entry>Двухзначный номер часа в 12-часовом формате</entry>
<entry>От <literal>01</literal> до <literal>12</literal></entry>
</row>
<row>
<entry><literal>%l (строчная 'L')</literal></entry>
<entry>Час в 12-часовом формате, с пробелом перед одиночной цифрой</entry>
<entry>От <literal> 1</literal> до <literal>12</literal></entry>
</row>
<row>
<entry><literal>%M</literal></entry>
<entry>Двухзначный номер минуты</entry>
<entry>От <literal>00</literal> до <literal>59</literal></entry>
</row>
<row>
<entry><literal>%p</literal></entry>
<entry>'AM' или 'PM' в верхнем регистре, в зависимости от указанного времени</entry>
<entry>Пример: <literal>AM</literal> для 00:31, <literal>PM</literal> для 22:23</entry>
</row>
<row>
<entry><literal>%P</literal></entry>
<entry>'am' или 'pm' в зависимости от указанного времени</entry>
<entry>Пример: <literal>am</literal> для 00:31, <literal>pm</literal> для 22:23</entry>
</row>
<row>
<entry><literal>%r</literal></entry>
<entry>Тоже что и "%I:%M:%S %p"</entry>
<entry>Пример: <literal>09:34:17 PM</literal> для 21:34:17</entry>
</row>
<row>
<entry><literal>%R</literal></entry>
<entry>Тоже что и "%H:%M"</entry>
<entry>Пример: <literal>00:35</literal> для 12:35 AM, <literal>16:44</literal> для 4:44 PM</entry>
</row>
<row>
<entry><literal>%S</literal></entry>
<entry>Двухзначный номер секунды</entry>
<entry>От <literal>00</literal> до <literal>59</literal></entry>
</row>
<row>
<entry><literal>%T</literal></entry>
<entry>Тоже что и "%H:%M:%S"</entry>
<entry>Пример: <literal>21:34:17</literal> для 09:34:17 PM</entry>
</row>
<row>
<entry><literal>%X</literal></entry>
<entry>Предпочитаемое отображение времени в зависимости от локали, без даты</entry>
<entry>Example: <literal>03:59:16</literal> or <literal>15:59:16</literal></entry>
</row>
<row>
<entry><literal>%z</literal></entry>
<entry>Смещение часового пояса относительно UTC либо аббревиатура (в зависимости
от операционной системы)</entry>
<entry>Пример: <literal>-0500</literal> или <literal>EST</literal> для Eastern Time</entry>
</row>
<row>
<entry><literal>%Z</literal></entry>
<entry>Смещение часового пояса/аббревиатура, НЕ выдаваемая опцией %z (в зависимости
от операционной системы)</entry>
<entry>Пример: <literal>-0500</literal> или <literal>EST</literal> для Eastern Time</entry>
</row>
<row>
<entry align="center"><emphasis>Метки даты и времени</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>%c</literal></entry>
<entry>Предпочитаемое отображение даты и времени, в зависимости от текущей локали</entry>
<entry>Пример: <literal>Tue Feb 5 00:45:10 2009</literal> для
5 февраля 2009 00:45:10</entry>
</row>
<row>
<entry><literal>%D</literal></entry>
<entry>Тоже что и "%m/%d/%y"</entry>
<entry>Пример: <literal>02/05/09</literal> для 5 февраля 2009</entry>
</row>
<row>
<entry><literal>%F</literal></entry>
<entry>Тоже что и "%Y-%m-%d" (обычно используется в метках времени баз данных)</entry>
<entry>Пример: <literal>2009-02-05</literal> для 5 февраля 2009</entry>
</row>
<row>
<entry><literal>%s</literal></entry>
<entry>Метка времени Эпохи Unix (тоже что и функция <function>time</function>)</entry>
<entry>Пример: <literal>305815200</literal> для 10 сентября 1979 08:40:00</entry>
</row>
<row>
<entry><literal>%x</literal></entry>
<entry>Предпочитаемое отображение даты, без времени</entry>
<entry>Пример: <literal>02/05/09</literal> для 5 февраля 2009</entry>
</row>
<row>
<entry align="center"><emphasis>Различное</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>%n</literal></entry>
<entry>Символ перевода строки ("\n")</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>%t</literal></entry>
<entry>Символ табуляции ("\t")</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>%%</literal></entry>
<entry>Символ процента ("%")</entry>
<entry>---</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
Максимальной длиной данного параметра является 1023 символа.
</para>
<warning>
<simpara>
%a - сокращенное название дня недели в текущей локали
В отличие от ISO-9899:1999, в Sun Solaris воскресенью присвается номер 1.
Как результат, %u может работать не так, как описано в этом
руководстве.
</simpara>
</listitem>
<listitem>
</warning>
<warning>
<simpara>
%A - полное название дня недели в текущей локали
<emphasis>Только для Windows:</emphasis> модификатор <literal>%e</literal>
не поддерживается в реализации этой функции в Windows. Для использования
этого значения необходимо вместо него использовать модификатор
<literal>%#d</literal>. Пример ниже иллюстрирует
кроссплатформенно совместимую функцию.
</simpara>
</listitem>
<listitem>
</warning>
<warning>
<simpara>
%b - сокращенное название месяца в текущей локали
<emphasis>Только для Mac OS X:</emphasis> модификатор <literal>%P</literal>
не поддерживается в реализации этой функции в Mac OS X.
</simpara>
</listitem>
<listitem>
<simpara>
%B - полное название месяца в текущей локали
</simpara>
</listitem>
<listitem>
<simpara>
%c - предпочтительный формат даты и времени в текущей локали
</simpara>
</listitem>
<listitem>
<simpara>
%C - столетие (год, деленный на 100 и округленный до целого, от 00 до 99)
</simpara>
</listitem>
<listitem>
<simpara>
%d - день месяца в виде десятичного числа (от 01 до 31)
</simpara>
</listitem>
<listitem>
<simpara>
%D - аналогично %m/%d/%y
</simpara>
</listitem>
<listitem>
<simpara>
%e - день месяца в виде десятичного числа, если это одна цифра, то
перед ней добавляется пробел (от ' 1' до '31')
</simpara>
</listitem>
<listitem>
<simpara>
%g - то же, что и %G, но без столетия
</simpara>
</listitem>
<listitem>
<simpara>
%G - год, 4-значное число, соответствующее номеру недели по ISO (см. %V).
Аналогично %Y, за исключением того, что если номер недели по ISO
соответствует предыдущему или следующему году, используется
соответствующий год.
</simpara>
</listitem>
<listitem>
<simpara>
%h - то же, что и %b
</simpara>
</listitem>
<listitem>
<simpara>
%H - номер часа от 00 до 23
</simpara>
</listitem>
<listitem>
<simpara>
%I - номер часа от 01 до 12
</simpara>
</listitem>
<listitem>
<simpara>
%j - номер дня в году (от 001 до 366)
</simpara>
</listitem>
<listitem>
<simpara>
%m - номер месяца (от 01 до 12)
</simpara>
</listitem>
<listitem>
<simpara>
%M - минуты
</simpara>
</listitem>
<listitem>
<simpara>
%n - символ "\n"
</simpara>
</listitem>
<listitem>
<simpara>
%p - `am' или `pm', или соответствующие строки в текущей локали
</simpara>
</listitem>
<listitem>
<simpara>
%r - время в формате a.m. или p.m.
</simpara>
</listitem>
<listitem>
<simpara>
%R - время в 24-часовом формате
</simpara>
</listitem>
<listitem>
<simpara>
%S - секунды
</simpara>
</listitem>
<listitem>
<simpara>
%t - символ табуляции ("\t")
</simpara>
</listitem>
<listitem>
<simpara>
%T - текущее время, аналогично %H:%M:%S
</simpara>
</listitem>
<listitem>
<simpara>
%u - номер дня недели от 1 до 7, где 1 соответствует понедельнику
</simpara>
<warning>
<simpara>
На Sun Solaris 1 соответствует воскресенью, хотя в ISO 9889:1999
(текущий стандарт языка C) явно указано, что это должен быть
понедельник.
</simpara>
</warning>
</listitem>
<listitem>
<simpara>
%U - порядковый номер недели в текущем году. Первым днем первой
недели в году считается первое воскресенье года.
</simpara>
</listitem>
<listitem>
<simpara>
%V - порядковый номер недели в году по стандарту ISO 8601:1988
от 01 до 53, где 1 соответствует первой неделе в году, в которой
как минимум 4 дня принадлежат этому году. Первым днем недели считается понедельник.
(Используйте %G or %g для определения соответствующего года)
</simpara>
</listitem>
<listitem>
<simpara>
%W - порядковый номер недели в текущем году. Первым днем первой
недели в году считается первый понедельник года.
</simpara>
</listitem>
<listitem>
<simpara>
%w - номер дня недели, 0 соответствует воскресенью
</simpara>
</listitem>
<listitem>
<simpara>
%x - предпочтительный формат даты без времени в текущей локали
</simpara>
</listitem>
<listitem>
<simpara>
%X - предпочтительный формат времени без даты в текущей локали
</simpara>
</listitem>
<listitem>
<simpara>
%y - год без столетия (от 00 до 99)
</simpara>
</listitem>
<listitem>
<simpara>
%Y - год, включая столетие
</simpara>
</listitem>
<listitem>
<simpara>
%Z - временная зона в виде смещения, аббревиатуры или полного
наименования
</simpara>
</listitem>
<listitem>
<simpara>
%% - символ `%'
</simpara>
</listitem>
</itemizedlist>
<example>
<title>Пример использования функции <function>strftime</function> с разными локалями</title>
<programlisting role="php">
</warning>
</listitem>
</varlistentry>
&date.timestamp.description;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает строку, отформатированную в соответствии с параметром
<parameter>format</parameter>, используя указанную временную метку
<parameter>timestamp</parameter> или текущее время, если метка не
была указана. Названия месяцев, дней недели и других языко-зависимых
строк будут взяты в соответствии с текущими настройками локали,
установленной с помощью функции <function>setlocale</function>.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
&date.timezone.errors.description;
<para>
Из-за того что результат данной функции зависит от используемой
в операционной системе C-библиотеки, некоторые модификаторы могут
не поддерживаться. Передача неизвестного модификатора в функцию в
Windows выдаст 5 предупреждений <constant>E_WARNING</constant>
и вернет&false;. На других операционных системах вы можете не
получить никаких предупреждений <constant>E_WARNING</constant>,
а вывод может содержать модификаторы без преобразований.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&date.timezone.errors.changelog;
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
Этот пример будет работать, если на вашей системе установлены
соответствующие локали.
<example>
<title>Пример использования функции <function>strftime</function> с разными локалями</title>
<programlisting role="php">
<![CDATA[
<?php
setlocale(LC_TIME, "C");
@ -246,27 +408,19 @@ setlocale(LC_TIME, "de_DE");
echo strftime(" по-немецки - %A.\n");
?>
]]>
</programlisting>
</example>
Этот пример будет работать, если на вашей системе установлены
соответствующие локали.
<note>
<simpara>
%G and %V, которые основаны на номере недели по ISO 8601:1988,
Могут давать результат, отличный от ожидаемого, если вы не
полностью понимаете систему нумерации, используемую этим
стандартом. Смотрите описание %V выше и следующий пример.
</simpara>
</note>
<example>
<title>Пример номеров недели по ISO 8601:1988</title>
<programlisting role="php">
</programlisting>
</example>
</para>
<para>
<example>
<title>Пример номеров недели по ISO 8601:1988</title>
<programlisting role="php">
<![CDATA[
<?php
/* Декабрь 2002 / Январь 2003
ISO Пн Вт Ср Чт Пт Сб Вс
/* Декабрь 2002 / Январь 2003
ISOнед Пн Вт Ср Чт Пт Сб Вс
----- ----------------------------
51 16 17 18 19 20 21 22
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
@ -286,8 +440,8 @@ echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "
/* Декабрь 2004 / Январь 2005
ISO Пн Вт Ср Чт Пт Сб Вс
/* Декабрь 2004 / Январь 2005
ISOнед Пн Вт Ср Чт Пт Сб Вс
----- ----------------------------
51 13 14 15 16 17 18 19
52 20 21 22 23 24 25 26
@ -309,16 +463,204 @@ echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n
?>
]]>
</programlisting>
</example>
</para>
<para>
См. также описание функций <function>setlocale</function>,
<function>mktime</function>, и <link xlink:href="&spec.strftime;">
спецификацию <function>strftime</function> Open Group</link>.
</para>
</refsect1>
</refentry>
</programlisting>
</example>
</para>
<para>
<example>
<title>Кросплатформенный пример использования модификатора <literal>%e</literal></title>
<programlisting role="php">
<![CDATA[
<?php
// 1 января: выдает результат: '%e%1%' (%%, e, %%, %e, %%)
$format = '%%e%%%e%%';
// Проверяем наличие Windows и соответственно заменяем модификатор %e
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
$format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format);
}
echo strftime($format);
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Показываем все известные и неизвестные форматы.</title>
<programlisting role="php">
<![CDATA[
<?php
// Описание форматов.
$strftimeFormats = array(
'A' => 'Полное название дня',
'B' => 'Полное имя месяца, в зависимости от локали',
'C' => 'Двухзначный номер столетия (год, деленный на 100, усеченный до целого)',
'D' => 'Тоже что и "%m/%d/%y"',
'E' => '',
'F' => 'Тоже что и "%Y-%m-%d"',
'G' => 'Четырехзначная версия %g',
'H' => 'Двухзначный номер часа в 24-часовом формате',
'I' => 'Двухзначный номер часа в 12-часовом формате',
'J' => '',
'K' => '',
'L' => '',
'M' => 'Двухзначный номер минуты',
'N' => '',
'O' => '',
'P' => '"am" или "pm" в зависимости от текущего времени, в нижнем регистре',
'Q' => '',
'R' => 'Тоже что и "%H:%M"',
'S' => 'Двухзначный номер секунды',
'T' => 'Тоже что и "%H:%M:%S"',
'U' => 'Номер недели указанного года, начиная с первого воскресенья в качестве первой недели',
'V' => 'Порядковый номер недели в указанном году в соответствии со стандартом ISO-8601:1988, счет начинается с той недели, которая содержит минимум 4 дня, неделя начинается с понедельника',
'W' => 'Номер недели указанного года, начиная с первого понедельника в качестве первой недели',
'X' => 'Предпочитаемое отображение времени в зависимости от локали, без даты',
'Y' => 'Четырехзначный номер года',
'Z' => 'Смещение часового пояса/аббревиатура, НЕ выдаваемая %z (зависит от операционной системы)',
'a' => 'Сокращенное название дня недели',
'b' => 'Сокращенное название месяца в зависимости от локали',
'c' => 'Предпочитаемое отображение даты и времени в зависимости от локали',
'd' => 'Двухзначный номер дня месяца (с ведущими нулями)',
'e' => 'День месяца, с ведущим пробелом, если он состоит из одной цифры',
'f' => '',
'g' => 'Двухзначный номер года в соответствии со стандартом ISO-8601:1988 (см. %V)',
'h' => 'Сокращенное название месяца в зависимости от локали (псевдоним %b)',
'i' => '',
'j' => 'Номер дня в году, 3 цифры с ведущими нулями',
'k' => '',
'l' => 'Номер часа в 12-часовом формате, с ведущим пробелом, если он состоит из одной цифры',
'm' => 'Двухзначный номер месяца',
'n' => 'Символ новой строки ("\n")',
'o' => '',
'p' => '"AM" или "PM" в зависимости от указанного времени, в верхнем регистре',
'q' => '',
'r' => 'Тоже что и "%I:%M:%S %p"',
's' => 'Временная метка Эпохи Unix',
't' => 'Символ табуляции ("\t")',
'u' => 'Номер дня недели в соответствии со стандартом ISO-8601',
'v' => '',
'w' => 'Номер дня недели',
'x' => 'Предпочитаемое отображение даты в зависимости от локали, без времени',
'y' => 'Двухзначный номер года',
'z' => 'Смещение часового пояса относительно UTC или аббревиатура (зависит от операционной системы)',
'%' => 'Символ процента ("%")',
);
// Результаты.
$strftimeValues = array();
// Обрабатываем форматы и подавляем любые ошибки.
foreach($strftimeFormats as $format => $description){
if (False !== ($value = @strftime("%{$format}"))){
$strftimeValues[$format] = $value;
}
}
// Находим самое длинное значение
$maxValueLength = 2 + max(array_map('strlen', $strftimeValues));
// Отображаем известные форматы.
foreach($strftimeValues as $format => $value){
echo "Известный формат : '{$format}' = ", str_pad("'{$value}'", $maxValueLength), " ( {$strftimeFormats[$format]} )\n";
}
// Отображаем неизвестные форматы.
foreach(array_diff_key($strftimeFormats, $strftimeValues) as $format => $description){
echo "Неизвестный формат : '{$format}' ", str_pad(' ', $maxValueLength), ($description ? " ( {$description} )" : ''), "\n";
}
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Известный формат : 'A' = 'Friday' ( Полное название дня )
Известный формат : 'B' = 'December' ( Полное имя месяца, в зависимости от локали )
Известный формат : 'H' = '11' ( Двухзначный номер часа в 24-часовом формате )
Известный формат : 'I' = '11' ( Двухзначный номер часа в 12-часовом формате )
Известный формат : 'M' = '24' ( Двухзначный номер минуты )
Известный формат : 'S' = '44' ( Двухзначный номер секунды )
Известный формат : 'U' = '48' ( Номер недели указанного года, начиная с первого воскресенья в качестве первой недели )
Известный формат : 'W' = '48' ( Номер недели указанного года, начиная с первого понедельника в качестве первой недели )
Известный формат : 'X' = '11:24:44' ( Предпочитаемое отображение времени в зависимости от локали, без даты )
Известный формат : 'Y' = '2010' ( Четырехзначный номер года )
Известный формат : 'Z' = 'GMT Standard Time' ( Смещение часового пояса/аббревиатура, НЕ выдаваемая %z (зависит от операционной системы) )
Известный формат : 'a' = 'Fri' ( Сокращенное название дня недели )
Известный формат : 'b' = 'Dec' ( Сокращенное название месяца в зависимости от локали )
Известный формат : 'c' = '12/03/10 11:24:44' ( Предпочитаемое отображение даты и времени в зависимости от локали )
Известный формат : 'd' = '03' ( Двухзначный номер дня месяца (с ведущими нулями) )
Известный формат : 'j' = '337' ( Номер дня в году, 3 цифры с ведущими нулями )
Известный формат : 'm' = '12' ( Двухзначный номер месяца )
Известный формат : 'p' = 'AM' ( "AM" или "PM" в зависимости от указанного времени, в верхнем регистре )
Известный формат : 'w' = '5' ( Номер дня недели )
Известный формат : 'x' = '12/03/10' ( Предпочитаемое отображение даты в зависимости от локали, без времени )
Известный формат : 'y' = '10' ( Двухзначный номер года )
Известный формат : 'z' = 'GMT Standard Time' ( Смещение часового пояса относительно UTC или аббревиатура (зависит от операционной системы) )
Известный формат : '%' = '%' ( Символ процента ("%") )
Неизвестный формат : 'C' ( Двухзначный номер столетия (год, деленный на 100, усеченный до целого) )
Неизвестный формат : 'D' ( Тоже что и "%m/%d/%y" )
Неизвестный формат : 'E'
Неизвестный формат : 'F' ( Тоже что и "%Y-%m-%d" )
Неизвестный формат : 'G' ( Четырехзначная версия %g )
Неизвестный формат : 'J'
Неизвестный формат : 'K'
Неизвестный формат : 'L'
Неизвестный формат : 'N'
Неизвестный формат : 'O'
Неизвестный формат : 'P' ( "am" или "pm" в зависимости от текущего времени, в нижнем регистре )
Неизвестный формат : 'Q'
Неизвестный формат : 'R' ( Тоже что и "%H:%M" )
Неизвестный формат : 'T' ( Тоже что и "%H:%M:%S" )
Неизвестный формат : 'V' ( Порядковый номер недели в указанном году в соответствии со стандартом ISO-8601:1988, счет начинается с той недели, которая содержит минимум 4 дня, неделя начинается с понедельника )
Неизвестный формат : 'e' ( День месяца, с ведущим пробелом, если он состоит из одной цифры )
Неизвестный формат : 'f'
Неизвестный формат : 'g' ( Двухзначный номер года в соответствии со стандартом ISO-8601:1988 (см. %V) )
Неизвестный формат : 'h' ( Сокращенное название месяца в зависимости от локали (псевдоним %b) )
Неизвестный формат : 'i'
Неизвестный формат : 'k'
Неизвестный формат : 'l' ( Номер часа в 12-часовом формате, с ведущим пробелом, если он состоит из одной цифры )
Неизвестный формат : 'n' ( Символ новой строки ("\n") )
Неизвестный формат : 'o'
Неизвестный формат : 'q'
Неизвестный формат : 'r' ( Тоже что и "%I:%M:%S %p" )
Неизвестный формат : 's' ( Временная метка Эпохи Unix )
Неизвестный формат : 't' ( Символ табуляции ("\t") )
Неизвестный формат : 'u' ( Номер дня недели в соответствии со стандартом ISO-8601 )
Неизвестный формат : 'v'
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<simpara>
Использование параметров %G и %V, основанных на днях недели
формата ISO 8601:1988, могут давать неожиданные (хотя и
корректные) результаты при неполном понимании данной системы
нумерации. Смотрите примеры параметра %V на данной странице.
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>setlocale</function></member>
<member><function>mktime</function></member>
<member><function>strptime</function></member>
<member><function>gmstrftime</function></member>
<member><link xlink:href="&spec.strftime;">Спецификация Open Group функции <function>strftime</function></link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
@ -331,7 +673,7 @@ sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../~/.phpdoc/manual.ced"
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil