date
(PHP 4, PHP 5) date — Форматирует системную дату/время
Описание
string date
( string $format
[, int $
timestamp
] )
Замечание:
Для большинства систем допустимыми являются даты с 13 декабря
1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Эти даты
соответствуют минимальному и максимальному значению 32-битового
целого со знаком). Для Windows допустимы даты с 01-01-1970 по 19-01-2038.
Замечание:
Для получения метки времени из строкового представления даты можно
использовать функцию strtotime(). Кроме того,
некоторые базы данных имеют собственные функции для преобразования
внутреннего представления даты в метку времени (напрмер, функция
MySQL » UNIX_TIMESTAMP).
В параметре format
распознаются
следующие символы
Символ в строке format
|
Описание |
Пример возвращаемого значения |
a |
Ante meridiem или Post meridiem в нижнем регистре |
am или pm |
A |
Ante 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(0, 0, 0, 7, 1, 2000)); ?>
Избежать распознавания символа как форматирующего можно, если экранировать
этот символ с помощью \ Если в сочетании с
\ символ являееся специальным (например,
\t), следует добавлять еще один
\.
Пример #2 Экранирование символов в функции date()
<?php // вывод: Wednesday the 15th echo date("l \\t\h\e jS"); ?>
Функции date() и
mktime() для вывода прошедших и будущих дат.
Пример #3
date() и mktime()
example
<?php $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); ?>
Замечание:
Этот метод более надежен, чем вычитание и прибавление секунд
к метке времени, так как 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().
|
|