Вы не зарегистрированы? Нажмите здесь для регистрации.
Забыли пароль? Запросите новый здесь.
|
Вы должны авторизироваться, чтобы добавить сообщение.
|
|
|
Последние активные темы форума |
|
strftime
(PHP 3, PHP 4 , 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() с разными локалями
<?php
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
<?php
/* Декабрь 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.
|
· Гостей: 23
· Пользователей: 0
· Всего пользователей: 453
· Новый пользователь: ZDA
|
|