Основы 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 »»» Функции для работы с датой и временем

date

(PHP 3, PHP 4, PHP 5)

date -- Форматирует системную дату/время

Описание

string date ( string format [, int timestamp] )

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

Замечание: Для большинства систем допустимыми являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Эти даты соответствуют минимальному и максимальному значению 32-битового целого со знаком). Для Windows допустимы даты с 01-01-1970 по 19-01-2038.

Замечание: Для получения метки времени из строкового представления даты можно использовать функцию strtotime(). Кроме того, некоторые базы данных имеют собственные функции для преобразования внутреннего представления даты в метку времени (напрмер, функция MySQL UNIX_TIMESTAMP).

Таблица 1. В параметре format распознаются следующие символы

Символ в строке formatОписаниеПример возвращаемого значения
aAnte meridiem или Post meridiem в нижнем регистреam или pm
AAnte meridiem или Post meridiem в верхнем регистреAM или PM
BВремя в стадарте Swatch InternetОт 000 до 999
cДата в формате ISO 8601 (добавлено в PHP 5)2004-02-12T15:19:21+00:00
dДень месяца, 2 цифры с ведущими нулямиот 01 до 31
DСокращенное наименование дня недели, 3 символаот Mon до Sun
FПолное наименование месяца, например January или Marchот January до December
gЧасы в 12-часовом формате без ведущих нулейОт 1 до 12
GЧасы в 24-часовом формате без ведущих нулейОт 0 до 23
hЧасы в 12-часовом формате с ведущими нулямиОт 01 до 12
HЧасы в 24-часовом формате с ведущими нулямиОт 00 до 23
iМинуты с ведущими нулями00 to 59
I (заглавная i)Признак летнего времени1, если дата соответствует летнему времени, иначе 0 otherwise.
jДень месяца без ведущих нулейОт 1 до 31
l (строчная 'L')Полное наименование дня неделиОт Sunday до Saturday
LПризнак високосного года1, если год високосный, иначе 0.
mПорядковый номер месяца с ведущими нулямиОт 01 до 12
MСокращенное наименование месяца, 3 символаОт Jan до Dec
nПорядковый номер месяца без ведущих нулейОт 1 до 12
OРазница с временем по Гринвичу в часахНапример: +0200
rДата в формате RFC 2822Например: Thu, 21 Dec 2000 16:01:07 +0200
sСекунды с ведущими нулямиОт 00 до 59
SАнглийский суффикс порядкового числительного дня месяца, 2 символа st, nd, rd или th. Применяется совместно с j
tКоличество дней в месяцеОт 28 до 31
TВременная зона на сервереПримеры: EST, MDT ...
UКоличество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT)См. также time()
wПорядковый номер дня неделиОт 0 (воскресенье) до 6 (суббота)
WПорядковый номер недели года по ISO-8601, первый день недели - понедельник (добавлено в PHP 4.1.0)Например: 42 (42-я неделя года)
YПорядковый номер года, 4 цифрыПримеры: 1999, 2003
yНомер года, 2 цифрыПримеры: 99, 03
zПорядковый номер дня в году (нумерация с 0)От 0 до 365
ZСмещение временной зоны в секундах. Для временных зон западнее UTC это отрицательное число, восточнее UTC - положительное.От -43200 до 43200

Любые другие символы, встреченные в строке format, будут выведены в результирующую строку без изменений. Z всегда возвращает 0 при использовании gmdate().


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

<?php
// вывод дня недели, например Wednesday
echo date("l");

// вывод даты в формате: Wednesday 15th of January 2003 05:51:38 AM
echo date("l dS of F Y h:i:s A");

// вывод: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " date("l"mktime(000712000));
?>

Избежать распознавания символа как форматирующего можно, если экранировать этот символ с помощью \ Если в сочетании с \ символ являееся специальным (например, \t), следует добавлять еще один \.

Пример 2. Экранирование символов в функции date()

<?php
// вывод: Wednesday the 15th
echo date("l \\t\h\e jS");
?>

Функции date() и mktime() для вывода прошедших и будущих дат.

Пример 3. date() и mktime() example

<?php
$tomorrow  
mktime(000date("m")  , date("d")+1date("Y"));
$lastmonth mktime(000date("m")-1date("d"),   date("Y"));
$nextyear  mktime(000date("m"),   date("d"),   date("Y")+1);
?>

Замечание: Этот метод более надежен, чем вычитание и прибавление секунд к метке времени, так как mktime() учитывает любые неоднозначности в датах (переход на летнее/зимнее время и др.).

Приведем еще несколько примеров использования функции date(). Помните, что следует экранировать все символы, которые вы хотите видеть в результате работы функции без изменений. Это относится и к символам, которые в текущей версии PHP не распознаются как специальные, так как этим символам может быть назначено значение в следующих версиях. Используйте одинарные кавычки для предотвращения преобразования \n в перевод строки.

Пример 4. Форматирование с использованием date()

<?php
// Предположим, что текущая дата March 10th, 2001, 5:16:18 pm

$today date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today date("m.d.y");                         // 03.10.01
$today date("j, n, Y");                       // 10, 3, 2001
$today date("Ymd");                           // 20010310
$today date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
$today date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$today date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
$today date("H:i:s");                         // 17:16:17
?>

Для форматирования дат на других языках используйте функции setlocale() и strftime().

См. также описание функций getlastmod(), gmdate(), mktime(), strftime() и time().

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

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

 
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS