Основы PHP
  Что такое PHP?
  Возможности PHP
  Преимущества PHP
  История развития
  Что нового в PHP5?
  «Движок» PHP
  Переход на PHP 5.3
New Переход на PHP 5.6
  Введение в PHP
  Изучение PHP
  Основы CGI
  Синтаксис PHP
  Типы данных PHP
  Переменные в PHP
  Константы PHP
  Выражения PHP
  Операторы PHP
  Конструкции PHP
  Ссылки в PHP
  PHP и ООП
  Безопасность
  Функции PHP
  Функции по категориям
  Функции по алфавиту
  Стандартные функции
  Пользовательские
  PHP и HTTP
  Работа с формами
  PHP и Upload
  PHP и Cookies
  PHP и базы данных
  PHP и MySQL
  Документация MySQL
  Учебники
  Учебники по PHP
  Учебники по MySQL
  Другие учебники
  Уроки PHP
  Введение
  Самые основы
  Управление
  Функции
  Документация
  Математика
  Файлы
  Основы SQL
  Дата и время
  CURL
  Изображения
  Стили
  Безопасность
  Установка
  Проектирование БД
  Регулярные выражения
  Подготовка к работе
  Быстрый старт
  Установка PHP
  Установка MySQL
  Конфигурация PHP
  Download / Скачать
  Скачать Apache
  Скачать PHP
  Скачать PECL
  Скачать PEAR
  Скачать MySQL
  Редакторы PHP
  Полезные утилиты
  Документация
  PHP скрипты
  Скачать скрипты
  Инструменты
  PHP в примерах
  Новости портала
 Главная   »  Функции PHP
 
 
Функции PHP »»» Функции для работы с датой и временем

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.

 
 
 Функции по алфавиту 
   Содержание   
 Функции по категориям 

Есть еще вопросы или что-то непонятно - добро пожаловать на наш  форум портала PHP.SU 
 

 
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS