date
(PHP 3, PHP 4 )
date -- Форматирует и выводит локальное время/дату
Описание
string date ( string format [, int timestamp])
Возвращает строку, отформатированную согласно формату, который передаётся в виде строки, используя переданную целочисленную метку времени, или текущее локальное время, если метки не переданно.
Замечание: допустимый диапазон временной метки обычно от Fri, 13 Dec 1901 20:45:54 GMT до Tue, 19 Jan 2038 03:14:07 GMT. (Это даты, соответствующие минимальному и максимальному значению 32-битового целого числа). В windows этот диапазон ограничен участком с 01-01-1970 до 19-01-2038.
Для генерации временной метки из строкового представления даты, вы можете использовать функцию strtotime(). Дополнительно, некоторые базы данных имеют функцию для преобразования их даты во временную метку (такая как функция UNIX_TIMESTAMP MySQL).
Следующие символы распознаются в строке формата:
a - "am" или "pm"
A - "AM" или "PM"
B - Swatch Internet time
d - день месяца, 2 цифры с начальными нулями; пример: "01" до "31"
D - день недели, текстовый, 3 символа; пример: "Fri"
F - месяц, текстовый, длинный; пример: "January"
g - часы, 12-часовой формат без начальных нулей; пример "1" до "12"
G - часы, 24-часовой формат без начальных нулей; пример: "0" до "23"
h - часы, 12-часовой формат; пример: "01" до "12"
H - часы, 24-часовой формат; пример: "00" до "23"
i - минуты; пример: "00" до "59"
I (заглавная i) - "1" если действует переход на летнее время, иначе "0".
j - день месяца без начальных нулей; пример: "1" до "31"
l (маленькая 'L') - день недели, текстовый, длинный; пример: "Friday"
L - високосный ли год; пример: "0" до "1"
m - месяц; пример: "01" до "12"
M - месяц, текстовый, 3 символа; пример: "Jan"
n - месяц без начальных нулей; пример: "1" до "12"
O - разница между временем по Гринвичу в часах; пример: "+0200"
r - RFC 822 форматированная дата; пример: "Thu, 21 Dec 2000 16:01:07 +0200" (добавлена в PHP 4.0.4)
s - секунды; пример: "00" до "59"
S - Английский суфикс для дня месяца, 2 символа; пример: "st", "nd", "rd" или "th"
t - число дней в данном месяце; пример: "28" до "31"
T - Установка временной зоны машины; пример: "EST" или "MDT"
U - количество секунд с момента началы эпохи UNIX (January 1 1970 00:00:00 GMT)
w - день недели, числовой, пример: "0" (Sunday) до "6" (Saturday)
W - ISO-8601 номер недели в году, недели начинаются с понедельника (добавлено в PHP 4.1.0)
Y - год, 4 цифры; пример: "1999"
y - год, 2 цифры; пример: "99"
z - день в году; пример: "0" до "365"
Z - смещение временной зоны в секундах (пример: "-43200" до "43200"). Смещение к западу от UTC всегда отрицательно, и к востоку положительно.
Неопознанные символы в строке формата будут выведены как есть.
Формат "Z" всегда возвращает "0", когда используется gmdate().
Пример 1. date() пример
echo date ("l dS of F Y h:i:s A");
echo "July 1, 2000 is on a " . date ("l", mktime(0,0,0,7,1,2000));
Вы можете предотвратить обработку опознаваемых символов в строке формата, путём включения перед ними обратного слеша. Если символ с обратным слешем уже является управляющей последовательностью, вам может понадобиться так же отменить обратный слеш.
Пример 2. Отмена символов в date()
echo date("l \\t\h\e jS"); // prints something like 'Saturday the 8th'
Можно использовать функции date() и mktime() для определения дат в будущем и прошлом.
Пример 3. date() and mktime() example
$tomorrow = mktime (0,0,0,date("m") ,date("d")+1,date("Y"));
$lastmonth = mktime (0,0,0,date("m")-1,date("d"), date("Y"));
$nextyear = mktime (0,0,0,date("m"), date("d"), date("Y")+1);
Замечание: это может быть более надёжно, чем просто вычитание числа секунд в дне и месяце из временной метки, из за перехода на летнее время.
Некоторые прмеры форматирования функцией date(). Заметьте, что вы должны отменять все другие символы, так как все символы, которые имеют специальное значение, приведут к неожиданным последствиям. Некоторые символы, могут стать специальными в будующих версиях PHP. При отмене, проверьте, что вы используете одинарные кавычки, для того, что бы предотвратить замену символов, вроде \n, новыми строками.
Пример 4. date() Форматирование.
/* Today is 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