mirror of
https://github.com/php/doc-ru.git
synced 2025-08-14 08:55:54 +00:00
Updated translation.
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@308584 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
@ -1,236 +1,398 @@
|
||||
<?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">
|
||||
<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>
|
||||
<refpurpose>Форматирует текущую дату/время с учетом текущих настроек локали</refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1>
|
||||
<title>Описание</title>
|
||||
|
||||
<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></methodparam>
|
||||
<methodparam choice="opt"><type>int</type><parameter>timestamp</parameter><initializer>time()</initializer></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Возвращает строку, отформатированную в соответствии с аргументом
|
||||
<parameter>format</parameter>, используя аргумент
|
||||
<parameter>timestamp</parameter> или текущее системное время, если
|
||||
этот аргумент не передан. Названия месяцев, дней недели и другие
|
||||
строки, зависящие от языка, соответствуют текущей локали,
|
||||
установленной функцией <function>setlocale</function>.
|
||||
Форматирует дату/время с учетом текущих настроек локали. Названия
|
||||
месяцев, дней недели и других языко-зависимых строк будут взяты
|
||||
в соответствии с текущими настройками локали, установленной с
|
||||
помощью функции <function>setlocale</function>.
|
||||
</para>
|
||||
<para>
|
||||
<function>strftime</function> использует функции операционной
|
||||
системы, поэтому отдельные форматирующие символы могут не работать
|
||||
в вашей операционной системе. Кроме того, не все платформы
|
||||
поддерживают отрицательные метки времени. Это значит, что %e, %T, %R и %D
|
||||
(а возможно и другие) и даты до <literal>Jan 1, 1970</literal> не
|
||||
поддерживаются Windows, некоторыми версиями Linux и некоторыми
|
||||
другими операционными системами. Список форматирующих символов,
|
||||
Ваша 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>
|
||||
В форматирующей строке распознаются следующие символы:
|
||||
<itemizedlist>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>format</parameter></term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
%a - сокращенное название дня недели в текущей локали
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
%A - полное название дня недели в текущей локали
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
%b - сокращенное название месяца в текущей локали
|
||||
</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>
|
||||
<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>
|
||||
На Sun Solaris 1 соответствует воскресенью, хотя в ISO 9889:1999
|
||||
(текущий стандарт языка C) явно указано, что это должен быть
|
||||
понедельник.
|
||||
В отличие от ISO-9899:1999, в Sun Solaris воскресенью присвается номер 1.
|
||||
Как результат, %u может работать не так, как описано в этом
|
||||
руководстве.
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<simpara>
|
||||
<emphasis>Только для Windows:</emphasis> модификатор <literal>%e</literal>
|
||||
не поддерживается в реализации этой функции в Windows. Для использования
|
||||
этого значения необходимо вместо него использовать модификатор
|
||||
<literal>%#d</literal>. Пример ниже иллюстрирует
|
||||
кроссплатформенно совместимую функцию.
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<simpara>
|
||||
<emphasis>Только для Mac OS X:</emphasis> модификатор <literal>%P</literal>
|
||||
не поддерживается в реализации этой функции в Mac OS X.
|
||||
</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>
|
||||
</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">
|
||||
@ -248,23 +410,15 @@ echo strftime(" по-немецки - %A.\n");
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
Этот пример будет работать, если на вашей системе установлены
|
||||
соответствующие локали.
|
||||
<note>
|
||||
<simpara>
|
||||
%G and %V, которые основаны на номере недели по ISO 8601:1988,
|
||||
Могут давать результат, отличный от ожидаемого, если вы не
|
||||
полностью понимаете систему нумерации, используемую этим
|
||||
стандартом. Смотрите описание %V выше и следующий пример.
|
||||
</simpara>
|
||||
</note>
|
||||
</para>
|
||||
<para>
|
||||
<example>
|
||||
<title>Пример номеров недели по ISO 8601:1988</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/* Декабрь 2002 / Январь 2003
|
||||
ISO Пн Вт Ср Чт Пт Сб Вс
|
||||
ISOнед Пн Вт Ср Чт Пт Сб Вс
|
||||
----- ----------------------------
|
||||
51 16 17 18 19 20 21 22
|
||||
52 23 24 25 26 27 28 29
|
||||
@ -287,7 +441,7 @@ echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "
|
||||
|
||||
|
||||
/* Декабрь 2004 / Январь 2005
|
||||
ISO Пн Вт Ср Чт Пт Сб Вс
|
||||
ISOнед Пн Вт Ср Чт Пт Сб Вс
|
||||
----- ----------------------------
|
||||
51 13 14 15 16 17 18 19
|
||||
52 20 21 22 23 24 25 26
|
||||
@ -313,12 +467,200 @@ echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n
|
||||
</example>
|
||||
</para>
|
||||
<para>
|
||||
См. также описание функций <function>setlocale</function>,
|
||||
<function>mktime</function>, и <link xlink:href="&spec.strftime;">
|
||||
спецификацию <function>strftime</function> Open Group</link>.
|
||||
<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>
|
||||
</refentry>
|
||||
|
||||
<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
|
||||
|
Reference in New Issue
Block a user