Первый PHP сценарий: Показываем дату и время.
Очевидно, что очень часто программистам приходится работать с датой и временем . Самый простой пример - это дата и время отправки сообщения на форуме. И, разумеется, такие вещи могут реализоваться на PHP , тем более, что возможностей по работе с датой и временем в PHP очень много.
Базовая функция, связанная с датой и временем в PHP , - это функция time() , которая возвращает количество секунд, прошедших с полуночи 01.01.1970 (зарождение эпохи Unix ):
echo time();
?>
Запустив данный скрипт, Вы узнаете, сколько секунд прошло с полуночи 01.01.1970 до момента вызова функции time() в Вашем скрипте.
Разумеется, помимо этой базовой функции, которая присутствует во всех языках программирования, где можно работать с датой и временем (по крайней мере, среди тех, которые я знаю), существует и другая функция, которая называется getdate() :
$datetime = getdate();
foreach ($datetime as $k=>$v)
echo "$k - $v
";
?>
Запустив данный скрипт, Вы увидите набор ключей в массиве и их соответствующих значений (заодно, повторили конструкцию foreach ). Думаю, что теперь для Вас не составит труда узнать любые данные, связанные с датой и временем . Например, чтобы вывести текущее время, необходимо написать следующий код:
$datetime = getdate();
echo $datetime["hours"].":".$datetime["minutes"].":".$datetime["seconds"];
?>
Также у функции getdate() существует необязательный параметр, который означает количество секунд, прошедших с полуночи 01.01.1970 . Он сделан для того, чтобы эта функция могла возвращать не только текущие время и дату, а, вообще говоря, любые:
$datetime = getdate(152353232);
echo $datetime["year"];
?>
В результате, Вы увидите 1974-ый год.
Также существует функция date() . Я рекомендую посмотреть описание по ней в справочнике, так как данная функция принимает весьма сложный параметр, который задаёт формат вывода даты. Элементов форматирования чуть больше 30-ти штук. И в примере ниже я приведу несколько из них, а остальные посмотрите в справочнике, потому что их запоминать не нужно, но ознакомиться с ними крайне желательно. А принцип их использования знать обязательно, и о нём следующий пример:
echo date("Сегодня d.m.Y H:i:s");
?>
В результате, Вы увидите что-то наподобие этого: "Сегодня 15.11.2010 21:44:24 ". Также у функции date() есть ещё второй необязательный параметр, задающий timestamp , как раз та величина, равная количеству секунд, прошедших с полуночи 01.01.1970 . Пример использования второго параметра:
echo date("Когда-то было d.m.Y H:i:s", 5393235329);
?>
Также существует функция gmdate() , которая является полным аналогом функции date() , но функция gmdate() показывает время не по часовому поясу сервера, на котором работает скрипт, а по Гринвичу . Очевидно, что с помощью этой функции надо сохранять всю информацию о дате и времени, которую видит пользователь, а при выводе нужно подстраиваться под часовой пояс каждого пользователя (в идеале, конечно):
echo gmdate("Сейчас на Гринвиче D M j H:i:s T Y")
?>
В результате, Вы увидите примерно следующее: "Mon Nov 15 18:52:45 GMT 2010 ". Разумеется, у Вас будет выведена уже другая дата, но в аналогичном формате. Также я настоятельно рекомендую залезть в справочник и просто ознакомиться с другими элементами даты и времени в PHP (я привёл только треть), так как функции date() и gmdate() - это самый простой и самый быстрый способ получить дату и время в практически любом формате.
Давайте рассмотрим часть кода из реальной web-странички, и создадим наш первый php-сценарий, а именно выведем дату и текущее время на нашем сайте. Этот сценарий применяется на сайтах достаточно часто и думаю будет полезен многим.
Создадим еще один php-файл и назовем этом файл time.php . мы изучали ранее, если подзабыли повторите.
Итак файл time.php мы создали и поместили этот файл в созданную ранее папку myphp по адресу . Эту тему мы изучали в уроке
Открываем код файла time.php и между тегами
и прописываем вот такой код, Листинг 1 :Листинг 1.
Сегодня:
|
Запускаем Локальный сервер, набираем в адресной строке браузера адрес http://localhost/myphp/time.php и нажимаем Enter . И видим на вот такую картинку:
Обращаю Ваше внимание, что в данном случае выводится текущее серверное время, т.е. если например сервер на котором "живет" Ваш сайт расположен в другой стране и текущее время отличается от Московского, то и выводимое значение времени тоже будет отличаться от Московского.
Давайте разберём код Листинга 1. Обычные текстовые надписи "Сегодня " и "Текущее время " не обрабатываются препроцессором PHP и выводятся как "есть". Вместо этих записей Вы можете написать любой текст, например просто Дата или Время и т.д.
А вот php-код заключенный в дескрипторы прежде чем отдаётся браузеру, проходит обработку PHP.
Как Вы наверное уже поняли функция date в PHP отвечает за вывод даты и времени . В круглых скобках указаны значения отображения даты и времени. В PHP таких значений очень много и этому разбору и изучению всех возможных значений, мы посвятим следующий отдельный урок.
Оператор echo - переводится как вывести , в данном случае имеется ввиду вывести на экран монитора Дату и Серверное Время .
Такого же результата (отображения в браузере) можно добиться разместив весь сценарий внутри PHP-дескрипторов. Смотрите Листинг 2 :
Листинг 2.
echo "Сегодня:" ;
|
Все текстовые элементы предназначенные для вывода, необходимо заключать в кавычки. Текстовые строки можно заключать как в одинарные, так и в двойные кавычки, в чём разница мы поговорим позже. Записи:
echo "Сегодня " ;
echo "Сегодня " ;
полностью эквивалентны и отобразятся одинаково.
Символ пробела перед закрывающей кавычкой используется для того, чтобы отделить вывод функции date от окружающего текста. Все команды в PHP всегда отделяются точкой с запитой.
Для вывода Даты и Времени на сайте, подставьте код Листинга 1 или Листинга 2 в нужное место своей web-страницы. Для придания надписям (Даты и Времени) общего стиля оформления сайта, можно воспользоваться.
P.S. Напоминаю, что файл в котором Вы размещаете PHP вставки должен иметь засширение .php и кроме того хостинг на котором "живет" Ваш сайт, должен поддерживать PHP (на сегодняшний день - это практически все
В распределенных системах, время играет особую роль. Из-за незначительного расхождения системных часов игрок на Forex может потерять тысячи долларов.
PHP дата и время
В распределенных системах, таких, как Интернет, время играет особую роль. Из-за незначительного расхождения системных часов игрок на рынке Forex может потерять десятки тысяч долларов в течение нескольких минут; система деловой разведки ошибется в составлении прогноза; серверы NNTP в процессе синхронизации потеряют важную информацию, нужную пользователю и т.д. PHP содержит множество функций для работы с датой и временем. Наиболее употребимыми являются:
— возвращает текущее абсолютное время. Это число равно количеству секунд, которое прошло с полуночи 1 января 1970 года (с начала эпохи UNIX).
— считывает информацию о дате и времени. Возвращает ассоциативный массив, содержащий информацию по заданному или по текущему (по умолчанию) времени. Массив содержит следующие элементы:
Пример 1
" ; echo "
Сегодня: $d .$d .$d " ; ?>
Результат 1
seconds = 21 minutes = 4 hours = 12 mday = 10 wday = 4 mon = 11 year = 2005 yday = 313 weekday = Thursday month = November 0 = 1131613461 Сегодня: 10. 11. 2005
— форматирование даты и времени. Аргументы: строка формата и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной или текущей датой в указанном формате. Строка формата может содержать следующие коды:
a | |
A | Включено обозначение «AM» или «PM» |
d | День месяца (01-31) |
D | Сокращенное название дня недели (три буквы) |
F | Полное название месяца |
g | Часы (12-часовой формат без ведущих нулей) |
G | Часы (24-часовой формат без ведущих нулей) |
h | Часы (12-часовой формат) |
H | Часы (24-часовой формат) |
i | Минуты (00-59) |
j | День месяца без ведущих нулей (1-31) |
l | Полное название дня недели |
L | Признак високосного года (0 или 1) |
m | Месяц (01-12) |
M | Сокращенное название месяца (три буквы) |
n | Месяц (1-12) |
s | Секунды (00-59) |
t | Количество дней в данном месяце (от 28 до 31) |
U | Абсолютное время |
w | |
y | Год (два разряда) |
Y | Год (четыре разряда) |
z | День года (0-365) |
Z | Смещение часового пояса в секундах (от -43200 до 43200) |
Любая другая информация, включенная в строку формата, будет вставлена в возвращаемую строку. Если в строку формата нужно добавить символы, которые сами по себе являются кодами формата, то перед ними надо поставить обратную косую черту «\». Символы, которые становятся кодами формата при добавлении к ним обратной косой, нужно предварять двумя косыми. Например, если необходимо добавить в строку «n», то надо ввести «\\n», поскольку «\n» является символом новой строки.
Пример 2
Результат 2
Сегодня: 10. 11. 05 13 : 03
— возвращает абсолютное время, которое затем можно использовать с функциями date() getdate() . Принимает до шести целочисленных аргументов в следующем порядке:
- минуты
- секунды
- месяц
- месяца
Пример 3
Результат 3
— проверка правильности даты. Аргументы: месяц, день, год. Возвращает true, если дата правильная, т.е.
- месяц — целое число от 1 до 12;
- день — целое число, не превышающее общего количества дней в данном месяце. При этом високосные годы обрабатываются корректно;
- год — целое число от 1 до 32767.
Пример 4
if ( ! checkdate ( $month , 1, $year ) ) { $d = getdate () ; $month = $d [ mon] ; $year = $d [ year] ; }
Внимание! Дата может находиться в допустимом диапазоне, но остальные функции работы с датами не примут это значение. Так, нельзя использовать mktime() для годов до 1902, а также следует использовать ее осторожно для годов до 1970.
— формирование локальной даты и времени. Аргументы: строка формата и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной или текущей датой в указанном формате. При этом названия месяцев и дней недели извлекается из локали, выбранной с помощью функции setlocate()
Строка формата может содержать следующие коды:
%a | Сокращенное название дня недели |
%A | Полное название дня недели |
%b | Сокращенное название месяца |
%B | Полное название месяца |
%c | Предпочтительный формат даты и времени |
%C | Номер века |
%d | День месяца (1-31) |
%D | То же, что и %m/%d/%y |
%e | Месяц (1-12) |
%h | То же, что и %b |
%H | Часы (24-часовой формат) |
%I | Часы (12-часовой формат) |
%j | День года (0-365) |
%m | Месяц (1-12) |
%M | Минуты |
%n | Символ новой строки |
%p | Включено обозначение «am» или «pm» |
%r | Время с использованием a.m./p.m.-нотации |
%R | Время в 24-часовом формате |
%S | Секунды (00-59) |
%t | Символ табуляции |
%T | То же, что и %H:%M:%S |
%u | Номер дня недели (1 — понедельник, 7 — воскресенье) |
%U | Номер недели. Отсчет начинается с первого воскресенья года |
%V | Номер недели по ISO 8601:1988. Первая неделя должна иметь не менее четырех дней, а понедельник считается первым днем |
%W | Номер недели. Отсчет начинается с первого понедельника года |
%w | Номер дня недели (0 — воскресенье, 6 — суббота) |
%x | Предпочтительный формат даты без времени |
%X | Предпочтительный формат времени без даты |
%y | Год (два разряда) |
%Y | Год (четыре разряда) |
%Z | Часовой пояс (имя или сокращение) |
%% | Символ «%» |
Любая другая информация, включенная в строку формата, будет вставлена в возвращаемую строку.
Пример 5
" ) ; error_reporting (E_ALL & ~E_WARNING ) ; setlocale ("LC_ALL" , "" ) ; echo strftime ("Сегодня %A %d %B %Y %X
" ) ; echo strftime ("%Z
" ) ; ?>
Среди разнообразных задач программирования, различные манипуляции со значениями даты и времени встречаются достаточно часто. Редкая автоматизированная система, база данных может обойтись без сохранения информации о времени того или иного процесса. Помимо простейшего добавления даты в запись базы данных или отображения этой даты, встречаются множество задач вывода этих дат в различном виде, проверки соответствия текущего времени с заданным таймером, вычисление срока между двумя датами и многое другое.
Для удобства работы с датами каждый язык программирования имеет свои специальные типы данных для хранения значения даты и времени. Чаще всего это числовое значение, либо целое, либо с плавающей точкой.
В PHP работа с датой чаще всего сталкивается с UNIX TIMESTAMP. Здесь время хранится целым числом. Исчисление времени начинается с 1 января 1970 года. Поэтому, например, дата и время 11.12.2014 19:40:00, будет представлено числом 1418316000. Эта цифра показывает, сколько секунд прошло с нулевой даты 1 января 1970 года, названой Эпохой Unix.
Пример php-страницы, предоставляющий возможности преобразования данных представлен на сайте в разделе программ программой "Преобразование формата даты и времени" . Здесь можно сформировать нужную дату в формат UNIX TIMESTAMP, а так же привести этот формат в стандартный, понятный человеку вид.
Получение текущего времени и даты в PHP
Для получения текущего времени сервера используется функция
int time(void)
которая как раз вернет значение в формате unix timestamp.
echo time(); // вывод текущего времени в формате unix timestamp
На первый взгляд не очень удобный формат для человека, но, как известно, чем проще представление данных, тем быстрее выполняется обработка этих значений компьютером. Кроме того, хранение числа в базе данных намного экономичнее, чем какой-либо специальный формат. Так же, PHP работает со временем одинаково и на Unix и на Windows платформе, что обеспечивает возможность использовать код на любой из этих платформ.
Преобразование формата даты и времени в PHP
Простейший механизм, позволяющий преобразовать числовое значение даты на более понятные значения, предоставляется функцией:
array getdate()
Она возвращает ассоциативный массив, содержащий информацию о дате. Если параметр timestamp не указан, будут возвращены сведения о текущем времени. Этот массив содержит следующие значения:
Полученный массив, позволяет вывести значения нужном виде:
$date = 1418372345;
$date_mas = getdate($date);
echo
$date_mas["mday"
] . " . "
. $date_mas["mon"
] . " . "
. $date_mas["year"
]; // 12.12.2014
Так же для преобразования формата даты и времени можно воспользоваться функцией:
string date(string $template [, int $unix_timestamp])
Она предназначена для получения текущей даты unix timestamp в нужном формате. Строковый параметр $template определяет формат вывода. Параметром $unix_timestamp можно задать, с каким значением времени производится работа. Он необязательный, поэтому, если его не указать, будет использоваться текущая дата и время.
Формат задается следующими значениями:
a | "до" и "после" полудня: "am" или "pm" |
A | "до" и "после" полудня заглавными буквами: "AM" или "PM" |
d | день месяца 2 цифрами (если меньше 10, на первом месте ноль) (от 01 до 31) |
D | день недели 3 буквами. Например, "Mon" (понедельник) |
j | день месяца, 1-2 цифры без начальных нулей (от 1 до 31) |
F | название месяца. Например, "January" |
h | час, 12-часовой формат (от 01 до 12) |
H | час, 24-часовой формат (от 00 до 23) |
g | час, 12-часовой формат без нулей (от 1 до 12) |
G | час, 24-часовой формат без нулей (от 0 до 23) |
i | минуты (от 00 до 59) |
I (заглавная i) | 1, если действует переход на летнее время, иначе 0 |
L | 1, если год високосный, или 0 если не високосный |
B | время в формате Интернет-времени (альтернативной системы отсчета времени суток) (от 000 до 999) |
T | временная зона компьютера. Например, MDT |
l (строчная L) | день недели. Например, "Monday" |
m | месяц, две цифры с нулями (от 01 до 12) |
n | месяц, одна-две цифры без нулей (от 1 до 12) |
M | сокращенное наименование месяца. Например, "Jan" |
t | число дней в указанном месяце (от 28 до 31) |
s | секунды (от 0 до 59) |
S | англоязычный порядковый суффикс числа из двух букв ("st", "nd", "rd" или "th") |
U | целое число секунд, прошедших с момента начала эпохи UNIX |
y | год, цифровой, 2 цифры (14) |
Y | год, цифровой, 4 цифры (2014) |
z | порядковое число дня в году (от 0 до 365) |
Z | смешение временной зоны в секундах (от -43200 до 43200) |
N | порядковый номер дня недели от 1 (понедельник) до 7 (воскресенье) в соответствии со стандартом ISO-8601, (добавлен в версии PHP 5.1.0) |
w | порядковый номер дня недели от 0 (воскресенье) до 6 (суббота) |
W | порядковый номер недели года в соответствии со стандартом ISO-8601; недели начинаются с понедельника (добавлено в версии PHP 4.1.0) |
o | номер года в соответствии со стандартом ISO-8601. Имеет то же значение, что и Y, кроме случая, когда номер недели ISO (W) принадлежит предыдущему или следующему году; тогда будет использован год этой недели. (добавлен в версии PHP 5.1.0) |
e | код шкалы временной зоны. Например: UTC, GMT, Atlantic/Azores (добавлен в версии PHP 5.1.0) |
O | разница с временем по Гринвичу, в часах. Например: +0200 |
P | разница с временем по Гринвичу с двоеточием между часами и минутами. Например: +02:00 (добавлено в версии PHP 5.1.3) |
c | дата в формате стандарта ISO 8601. Например, 2014-12-12T15:19:21+00:00 (добавлено в PHP 5) |
r | дата в формате » RFC 2822. Например: Thu, 21 Dec 2000 16:01:07 +0200 |
U | количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970 00:00:00 GMT) |
Как видно из списка, с помощью этой функции можно получить очень много полезных данных о дате. Например:
$date = 1418372345; // исходное дата и время 12.12.2014 11:19:05
echo
date("d.m.Y"
, $date); // 12.12.2014 (дата)
echo
date("H:i:s"
, $date); // 11:19:05 (время)
echo
date("H:i"
, $date); // 11:19 (время)
echo
date("t"
, $date); // 31 (число дней в месяце)
echo
date("z"
, $date); // 345 (порядковый номер дня в году)
echo
date("l dS \of F Y h:i:s A"
, $date); // Friday 12th of December 2014 11:19:05 AM
Другие символы, входящие в шаблон, будут выведены в строке как есть. Если же потребуется ввести символ, который используется в функции как код формата, перед ними вставляется символ "\". Для значения "\n" (символ перехода на новую строку), следует указать "\\n". Таким образом, можно делать вывод целого сообщения, содержащего сведения о дате и времени:
echo date("Сегодня z-й день Y-го года" , $date); // Сегодня 345-й день 2014-го года
Преобразование даты и времени в формат timestamp
Для обратного преобразования даты из стандартного формата в числовое значение timestamp применяется функция:
int mktime(]]]]]])
Функция mktime() возвращает значение времени Unix, соответствующую дате и времени, заданным аргументами. Например:
$my_date = mktime (10, 30, 0, 12, 12, 2014);
Следует внимательно относится к порядку аргументов функции: часы, минуты, секунды, месяц, день, год.
Кроме простого формирования значения даты в timestamp, функцию mktime() можно использовать для арифметически вычисления с датами. Для этого просто можно ввести необходимые аргументы. Например, если указать 14 месяц, то в итоговом значении, месяц будет 2-й, а значение года увеличится на единицу:
$my_day = 12;
$my_month = 12;
$my_year = 2014;
$new_date = mktime(0, 0, 0, $my_month + 5, $my_day, $my_year);
echo
date("d.m.Y"
, $new_date); // 12.05.2015 (дата)
Аналогично можно поступать и с другими параметрами.
Проверка корректности даты в PHP
При работе с датами, особенно при формировании даты предложенной выше функцией mktime() необходимо учитывать корректность вводимой даты. Для этого в PHP используется функция:
bool checkdate(int month, int day, int year)
Возвращает true если дата, заданная аргументами, является правильной; иначе возвращает false. Дата считается правильной, если:
Год в диапазоне от 1 до 32767;
Месяц в диапазоне от 1 до 12;
День для заданного месяца с учетом високосного года указаны правильно.
Пример проверки даты:
$my_day = 32;
$my_month = 12;
$my_year = 2014;
if
(!checkdate($my_month, $my_day, $my_year))
echo
"Ошибка: дата указана некорректно"
;
У Вас в браузере заблокирован JavaScript. Разрешите JavaScript для работы сайта!
Представление даты и времени
В распределенных системах, таких, как Интернет, время играет особую роль. Из-за незначительного расхождения системных часов игрок на рынке Forex может потерять десятки тысяч долларов в течение нескольких минут; система деловой разведки ошибется в составлении прогноза; серверы NNTP в процессе синхронизации потеряют важную информацию, нужную пользователю и т.д.
PHP содержит множество функций для работы с датой и временем. Наиболее употребимыми являются:
- time() - возвращает текущее абсолютное время. Это число равно количеству секунд, которое прошло с полуночи 1 января 1970 года (с начала эпохи UNIX).
- getdate()
- считывает информацию о дате и времени. Возвращает
ассоциативный массив, содержащий информацию по заданному или по текущему
(по умолчанию) времени. Массив содержит следующие элементы:
Пример 1
Использование getdate() $val) echo "$key = $val
"; echo "
Сегодня: $d.$d.$d"; ?>РЕЗУЛЬТАТ ПРИМЕРА 1:
Seconds = 21 minutes = 4 hours = 12 mday = 10 wday = 4 mon = 11 year = 2005 yday = 313 weekday = Thursday month = November 0 = 1131613461 Сегодня: 10.11.2005
- date()
- форматирование даты и времени. Аргументы: строка формата
и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной
или текущей датой в указанном формате.
Строка формата может содержать следующие коды:
a A Включено обозначение "AM" или "PM" d День месяца (01-31) D Сокращенное название дня недели (три буквы) F Полное название месяца g Часы (12-часовой формат без ведущих нулей) G Часы (24-часовой формат без ведущих нулей) h Часы (12-часовой формат) H Часы (24-часовой формат) i Минуты (00-59) j День месяца без ведущих нулей (1-31) l Полное название дня недели L Признак високосного года (0 или 1) m Месяц (01-12) M Сокращенное название месяца (три буквы) n Месяц (1-12) s Секунды (00-59) t Количество дней в данном месяце (от 28 до 31) U Абсолютное время w y Год (два разряда) Y Год (четыре разряда) z День года (0-365) Z Смещение часового пояса в секундах (от -43200 до 43200) Любая другая информация, включенная в строку формата, будет вставлена в возвращаемую строку. Если в строку формата нужно добавить символы, которые сами по себе являются кодами формата, то перед ними надо поставить обратную косую черту "\". Символы, которые становятся кодами формата при добавлении к ним обратной косой, нужно предварять двумя косыми. Например, если необходимо добавить в строку "n", то надо ввести "\\n", поскольку "\n" является символом новой строки.
Пример 2
Использование date() РЕЗУЛЬТАТ ПРИМЕРА 2:
Сегодня: 10.11.05 13:03
- mktime()
- возвращает абсолютное время, которое затем можно
использовать с функциями date() или getdate() . Принимает до
шести целочисленных аргументов в следующем порядке:
Часы
минуты
секунды
месяц
день месяца
годПример 3
Использование mktime() РЕЗУЛЬТАТ ПРИМЕРА 3:
- checkdate()
- проверка правильности даты.
Аргументы: месяц, день, год. Возвращает true , если дата правильная,
т.е.
месяц - целое число от 1 до 12;
день - целое число, не превышающее общего количества дней в данном месяце. При этом високосные годы обрабатываются корректно;
год - целое число от 1 до 32767.Например:
If (!checkdate($month, 1, $year)) { $d = getdate(); $month = $d; $year = $d; }
Внимание! Дата может находиться в допустимом диапазоне, но остальные функции работы с датами не примут это значение. Так, нельзя использовать mktime() для годов до 1902, а также следует использовать ее осторожно для годов до 1970.
- strftime()
- формирование локальной даты и времени.
Аргументы: строка формата и абсолютное время. Второй аргумент необязателен.
Возвращает строку с заданной или текущей датой в указанном формате.
При этом названия месяцев и дней недели извлекается из локали,
выбранной с помощью функции
Строка формата может содержать следующие коды:
%a Сокращенное название дня недели %A Полное название дня недели %b Сокращенное название месяца %B Полное название месяца %c Предпочтительный формат даты и времени %C Номер века %d День месяца (1-31) %D То же, что и %m/%d/%y %e Месяц (1-12) %h То же, что и %b %H Часы (24-часовой формат) %I Часы (12-часовой формат) %j День года (0-365) %m Месяц (1-12) %M Минуты %n Символ новой строки %p Включено обозначение "am" или "pm" %r Время с использованием a.m./p.m.-нотации %R Время в 24-часовом формате %S Секунды (00-59) %t Символ табуляции %T То же, что и %H:%M:%S %u Номер дня недели (1 - понедельник, 7 - воскресенье) %U Номер недели. Отсчет начинается с первого воскресенья года %V Номер недели по ISO 8601:1988. Первая неделя должна иметь не менее четырех дней, а понедельник считается первым днем %W Номер недели. Отсчет начинается с первого понедельника года %w Номер дня недели (0 - воскресенье, 6 - суббота) %x Предпочтительный формат даты без времени %X Предпочтительный формат времени без даты %y Год (два разряда) %Y Год (четыре разряда) %Z Часовой пояс (имя или сокращение) %% Символ "%" Любая другая информация, включенная в строку формата, будет вставлена в возвращаемую строку.