Номера дней недели php

Дата и время в PHP

В распределенных системах, таких, как Интернет, время играет особую роль. Из-за незначительного расхождения системных часов игрок на рынке Forex может потерять десятки тысяч долларов в течение нескольких минут; система деловой разведки ошибется в составлении прогноза; серверы NNTP в процессе синхронизации потеряют важную информацию, нужную пользователю и т.д.

PHP-функции для работы с датой и временем

PHP содержит множество функций для работы с датой и временем. Наиболее употребимыми являются:

time() Возвращает текущее абсолютное время. Это число равно количеству секунд, которое прошло с полуночи 1 января 1970 года (с начала эпохи UNIX). getdate( ) Считывает информацию о дате и времени. Возвращает ассоциативный массив, содержащий информацию по заданному или по текущему (по умолчанию) времени. Массив содержит следующие элементы:

seconds Секунды (0-59)
minutes Минуты (0-59)
hours Часы (0-23)
mday День месяца (1-31)
wday День недели (0-6), начиная с воскресенья
mon Месяц (1-12)
year Год
yday День года (0-365)
weekday Название дня недели (например, Friday)
month Название месяца (например, January)
0 Абсолютное время

Пример 1

$d = getdate(); // использовано текущее время foreach ( $d as $key => $val ) echo "$key = $val
"; echo "
Сегодня: $d[mday].$d[mon].$d[year]";

seconds = 38
minutes = 58
hours = 4
mday = 24
wday = 1
mon = 7
year = 2023
yday = 204
weekday = Monday
month = July
0 = 1690163918
Сегодня: 24.7.2023

date() Форматирование даты и времени. Аргументы: строка формата и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной или текущей датой в указанном формате. Строка формата может содержать следующие коды:

a Включено обозначение «am» или «pm»
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 Номер дня недели (0 — воскресенье, 6 — суббота)
y Год (два разряда)
Y Год (четыре разряда)
z День года (0-365)
Z Смещение часового пояса в секундах (от -43200 до 43200)

Любая другая информация, включенная в строку формата, будет вставлена в возвращаемую строку. Если в строку формата нужно добавить символы, которые сами по себе являются кодами формата, то перед ними надо поставить обратную косую черту «\». Символы, которые становятся кодами формата при добавлении к ним обратной косой, нужно предварять двумя косыми. Например, если необходимо добавить в строку «n», то надо ввести «\\n», поскольку «\n» является символом новой строки.

Пример 2

mktime() Возвращает абсолютное время, которое затем можно использовать с функциями date() или getdate() . Принимает до шести целочисленных аргументов в следующем порядке:

Читайте также:  Java hashmap by reference

часы
минуты
секунды
месяц
день месяца
год

Пример 3

date( "j F Y, \a\\t g.i a, l", mktime( 13, 30, 0, 1, 22, 1971 ) );

22 January 1971, at 1.30 pm, Friday

checkdate() Проверка правильности даты. Аргументы: месяц, день, год. Возвращает true , если дата правильная, т.е.
месяц — целое число от 1 до 12;
день — целое число, не превышающее общего количества дней в данном месяце. При этом високосные годы обрабатываются корректно;
год — целое число от 1 до 32767.

if ( !checkdate( $month, 1, $year ) )

Внимание! Дата может находиться в допустимом диапазоне, но остальные функции работы с датами не примут это значение. Так, нельзя использовать mktime() для годов до 1902, а также следует использовать ее осторожно для годов до 1970.

strftime() Формирование локальной даты и времени.
Аргументы: строка формата и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной или текущей датой в указанном формате. При этом названия месяцев и дней недели извлекается из локали, выбранной с помощью функции 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 Часовой пояс (имя или сокращение)
%% Символ «%»

Любая другая информация, включенная в строку формата, будет вставлена в возвращаемую строку.

Пример 4

echo strftime("%A %d %B %Y %H:%M
"); //error_reporting(E_ALL & ~E_WARNING); //setlocale(LC_ALL,''); echo strftime("Сегодня %A %d %B %Y %X
"); echo strftime("%Z
");

Monday 24 July 2023 04:58
Сегодня Monday 24 July 2023 04:58:38
MSK

Еще примеры:

Источник

date() – форматирование даты PHP

date($format, $timestamp) – форматирует дату/время по шаблону, где:

Результат работы функции зависит от настроек часового пояса, установить его можно следующем образом:

Основные параметры шаблона

Символ Описание Пример возвращаемого значения
День
j День месяца без ведущего нуля от 1 до 31
d День месяца, 2 цифры с ведущим нулём от 01 до 31
l Полное наименование дня недели от Sunday до Saturday
D День недели, 3 символа от Mon до Sun
z Порядковый номер дня в году От 0 до 365
Неделя
N Порядковый номер дня недели от 1 (понедельник)
до 7 (воскресенье)
W Порядковый номер недели года Например: 42 (42-я неделя года)
Месяц
n Порядковый номер месяца без ведущего нуля от 1 до 12
m Порядковый номер месяца с ведущим нулём от 01 до 12
F Полное название месяца от January до December
M Сокращенное наименование месяца, 3 символа от Jan до Dec
t Количество дней в месяце от 28 до 31
Год
Y Год, 4 цифры 2019
y Год, 2 цифры 19
Время
g Часы в 12-часовом формате без ведущего нуля от 1 до 12
h Часы в 12-часовом формате с ведущим нулём от 01 до 12
G Часы в 24-часовом формате без ведущего нуля от 0 до 23
H Часы в 24-часовом формате с ведущим нулём от 00 до 23
i Минуты с ведущим нулём от 00 до 59
s Секунды с ведущим нулём от 00 до 59
v Миллисекунды 123
Полная дата/время
c Дата в формате ISO 8601 2004-02-12T15:19:21+00:00
r Дата в формате RFC 2822 Thu, 21 Dec 2000 16:01:07 +0200
Читайте также:  Php все символы кроме пробелов

дд.мм.ггг (dd.mm.yyyy)

Самый распространенные форматы: dd.mm.yyyy и dd.mm.yyyy hh:ss .

echo date('d.m.Y'); // 24.07.2023 echo date('d.m.Y H:i'); // 24.07.2023 04:58 echo date('d.m.Y H:i:s'); // 24.07.2023 04:58:06

гггг-мм-дд (yyyy.mm.dd)

Используется в MySQL тип поля DATE.

Источник

date_format

Возвращает строку даты, преобразованной согласно переданному формату.

Список параметров

Только для процедурного стиля: объект DateTime , возвращаемый date_create() .

Шаблон результирующей строки ( string ) с датой. Смотрите параметры форматирования ниже. Также существует несколько предопределённых констант даты/времени, которые могут быть использованы вместо этих параметров. Например: DATE_RSS заменяет шаблон ‘D, d M Y H:i:s’ .

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

Символ в строке format Описание Пример возвращаемого значения
День
d День месяца, 2 цифры с ведущим нулём от 01 до 31
D Текстовое представление дня недели, 3 символа от Mon до Sun
j День месяца без ведущего нуля от 1 до 31
l (строчная ‘L’) Полное наименование дня недели от Sunday до Saturday
N Порядковый номер дня недели в соответствии со стандартом ISO 8601 от 1 (понедельник) до 7 (воскресенье)
S Английский суффикс порядкового числительного дня месяца, 2 символа st , nd , rd или th . Применяется совместно с j
w Порядковый номер дня недели от 0 (воскресенье) до 6 (суббота)
z Порядковый номер дня в году (начиная с 0) От 0 до 365
Неделя
W Порядковый номер недели года в соответствии со стандартом ISO 8601; недели начинаются с понедельника Например: 42 (42-я неделя года)
Месяц
F Полное наименование месяца, например, January или March от January до December
m Порядковый номер месяца с ведущим нулём от 01 до 12
M Сокращённое наименование месяца, 3 символа от Jan до Dec
n Порядковый номер месяца без ведущего нуля от 1 до 12
t Количество дней в указанном месяце от 28 до 31
Год
L Признак високосного года 1 , если год високосный, иначе 0 .
o Номер года в соответствии со стандартом ISO 8601. Имеет то же значение, что и Y , кроме случая, когда номер недели ISO ( W ) принадлежит предыдущему или следующему году; тогда будет использован год этой недели. Примеры: 1999 или 2003
X Расширенное полное числовое представление года, не менее 4 цифр, с — для годов до нашей эры и + для годов нашей эры. Примеры: -0055 , +0787 , +1999 , +10191
x Расширенное полное числовое представление, если требуется или стандартное полное числовое представление, если возможно (например, Y ). Не менее четырёх цифр. Для годов до нашей эры указан префикс — . У годов после (и включая) 10000 префикс + . Примеры: -0055 , 0787 , 1999 , +10191
Y Полное числовое представление года, не менее 4 цифр, с — для годов до нашей эры. Примеры: -0055 , 0787 , 1999 , 2003 , 10191 .
y Номер года, 2 цифры Примеры: 99 , 03
Время
a Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня») в нижнем регистре am или pm
A Ante meridiem или Post meridiem в верхнем регистре AM или PM
B Время в формате Интернет-времени (альтернативной системы отсчёта времени суток) от 000 до 999
g Часы в 12-часовом формате без ведущего нуля от 1 до 12
G Часы в 24-часовом формате без ведущего нуля от 0 до 23
h Часы в 12-часовом формате с ведущим нулём от 01 до 12
H Часы в 24-часовом формате с ведущим нулём от 00 до 23
i Минуты с ведущим нулём от 00 до 59
s Секунды с ведущим нулём от 00 до 59
u Микросекунды. Учтите, что date() всегда будет возвращать 000000 , т.к. она принимает целочисленный ( int ) параметр, тогда как DateTime::format() поддерживает микросекунды, если DateTime создан с ними. Например: 654321
v Миллисекунды. Замечание такое же как и для u . Пример: 654
Часовой пояс
e Идентификатор часового пояса Примеры: UTC , GMT , Atlantic/Azores
I (заглавная i) Признак летнего времени 1 , если дата соответствует летнему времени, 0 в противном случае.
O Разница с временем по Гринвичу без двоеточия между часами и минутами Например: +0200
P Разница с временем по Гринвичу с двоеточием между часами и минутами Например: +02:00
p То же, что и P , но возвращает Z вместо +00:00 (доступен, начиная с PHP 8.0.0) Например: Z или +02:00
T Аббревиатура часового пояса, если известна; в противном случае смещение по Гринвичу. Примеры: EST , MDT , +05
Z Смещение часового пояса в секундах. Для часовых поясов, расположенных западнее UTC, возвращаются отрицательные числа, а для расположенных восточнее UTC — положительные. от -43200 до 50400
Полная дата/время
c Дата в формате стандарта ISO 8601 2004-02-12T15:19:21+00:00
r Дата в формате » RFC 222/» RFC 5322 Например: Thu, 21 Dec 2000 16:01:07 +0200
U Количество секунд, прошедших с начала Эпохи Unix (1 января 1970 00:00:00 GMT) Смотрите также time()
Читайте также:  Css получить атрибут элемента

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

Замечание:

Поскольку рассматриваемая функция принимает в качестве параметра временные метки типа int , форматирующий символ u будет полезен только при использовании функции date_format() и пользовательских меток времени, созданных с помощью функции date_create() .

Возвращаемые значения

Возвращает строку с отформатированной датой в случае успешного выполнения.

Источник

Оцените статью