No Image

Php узнать день недели по дате

СОДЕРЖАНИЕ
268 просмотров
10 марта 2020

Если у меня есть $date YYYY-mm-dd и вы хотите получить конкретную $day (указанную в 0 (воскресенье) до 6 (субботу)) недели, в которой находится YYYY-mm-dd .

Например, если я получил 2012-10-11 как $date и 5 как $day , я хочу получить 2012-10-12 , если у меня есть 0 как $day , 2012-10-14

EDIT:
Большинство из вас неправильно поняли это. Я получил некоторую дату, $date и хочу получить день, указанный 0-6 той же недели. $date находится.

На странице анкеты имеется пункт дата рождения. При отправке анкеты необходимо чтобы рядом с датой рождения прописывался день недели. Нашла вот такое решение в интернете, но это лишь с текущей датой прокатывает.Как сделать так, чтобы при выборе на начальной странице в календаре выводилась именно выбранная дата, а не текущая?

2 ответа 2

День недели даты можно узнать следующим образом

Всё ещё ищете ответ? Посмотрите другие вопросы с метками php дата или задайте свой вопрос.

Связанные

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.11.15.35459

(PHP 4, PHP 5, PHP 7)

date — Форматирует вывод системной даты/времени

Описание

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

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

Шаблон результирующей строки ( 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 (добавлено в PHP 5.1.0) от 1 (понедельник) до 7 (воскресенье)
S Английский суффикс порядкового числительного дня месяца, 2 символа st, nd, rd или th. Применяется совместно с j
w Порядковый номер дня недели от (воскресенье) до 6 (суббота)
z Порядковый номер дня в году (начиная с 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, если год високосный, иначе .
o Номер года в соответствии со стандартом ISO-8601. Имеет то же значение, что и Y, кроме случая, когда номер недели ISO (W) принадлежит предыдущему или следующему году; тогда будет использован год этой недели. (добавлено в PHP 5.1.0) Примеры: 1999 или 2003
Y Порядковый номер года, 4 цифры Примеры: 1999, 2003
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-часовом формате без ведущего нуля от до 23
h Часы в 12-часовом формате с ведущим нулём от 01 до 12
H Часы в 24-часовом формате с ведущим нулём от 00 до 23
i Минуты с ведущим нулём от 00 до 59
s Секунды с ведущим нулём от 00 до 59
u Микросекунды (добавлено в PHP 5.2.2). Учтите, что date() всегда будет возвращать 000000, т.к. она принимает целочисленный параметр, тогда как DateTime::format() поддерживает микросекунды, если DateTime создан с ними. Например: 654321
v Миллисекунды (добавлено в PHP 7.0.0). Замечание такое же как и для u. Пример: 654
Временная зона
e Идентификатор временной зоны (добавлено в PHP 5.1.0) Примеры: UTC, GMT, Atlantic/Azores
I (заглавная i) Признак летнего времени 1, если дата соответствует летнему времени, в противном случае.
O Разница с временем по Гринвичу, в часах Например: +0200
P Разница с временем по Гринвичу с двоеточием между часами и минутами (добавлено в PHP 5.1.3) Например: +02:00
T Аббревиатура временной зоны Примеры: EST, MDT .
Z Смещение временной зоны в секундах. Для временных зон, расположенных западнее UTC возвращаются отрицательные числа, а расположенных восточнее UTC – положительные. от -43200 до 50400
Полная дата/время
c Дата в формате стандарта ISO 8601 (добавлено в PHP 5) 2004-02-12T15:19:21+00:00
r Дата в формате » RFC 2822 Например: Thu, 21 Dec 2000 16:01:07 +0200
U Количество секунд, прошедших с начала Эпохи Unix (1 января 1970 00:00:00 GMT) См. также time()
Читайте также:  Как запустить бенчмарк в gta 5

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

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

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

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

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

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках временной зоны сгенерирует ошибку уровня E_NOTICE , и/или ошибку уровня E_STRICT или E_WARNING при использовании системных настроек или переменной окружения TZ . Смотрите также date_default_timezone_set()

Список изменений

Версия Описание
5.1.1 Для стандартных форматов даты/времени существуют специальные константы, которые могут быть указаны в качестве параметра format .
5.1.0 Допустимым диапазоном дат для временных меток обычно являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Они соответствуют минимальному и максимальному значению 32-битного целого числа со знаком). Однако для PHP версии ниже 5.1.0 в некоторых операционных системах (например, Windows) этот диапазон был ограничен датами 01-01-1970 до 19-01-2038.
5.1.0

Теперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE .

Примеры

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

// установка временной зоны по умолчанию. Доступно с PHP 5.1
date_default_timezone_set ( ‘UTC’ );

// выведет примерно следующее: Monday
echo date ( "l" );

// выведет примерно следующее: Monday 8th of August 2005 03:12:46 PM
echo date ( ‘l jS of F Y h:i:s A’ );

Читайте также:  Iphone xs max black

// выведет: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date ( "l" , mktime ( 0 , 0 , 0 , 7 , 1 , 2000 ));

/* пример использования константы в качестве форматирующего параметра */
// выведет примерно следующее: Mon, 15 Aug 2005 15:12:46 UTC
echo date ( DATE_RFC822 );

// выведет примерно следующее: 2000-07-01T00:00:00+00:00
echo date ( DATE_ATOM , mktime ( 0 , 0 , 0 , 7 , 1 , 2000 ));
?>

Чтобы запретить распознавание символа как форматирующего, следует экранировать его с помощью обратного слэша. Если экранированный символ также является форматирующей последовательностью, то следует экранировать его повторно.

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

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

Пример #3 Пример совместного использования функций date() и mktime()

Данный способ более надежен, чем простое вычитание и прибавление секунд к метке времени, поскольку позволяет при необходимости гибко осуществить переход на летнее/зимнее время.

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

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

// Предположим, что текущей датой является 10 марта 2001, 5:16:18 вечера,
// и мы находимся во временной зоне Mountain Standard Time (MST)

$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’ ); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date ( ‘i is he jS day.’ ); // it is the 10th day.
$today = date ( "D M j G:i:s T Y" ); // Sat Mar 10 17:16:18 MST 2001
$today = date ( ‘H:m:s m is mo
h’ ); // 17:03:18 m is month
$today = date ( "H:i:s" ); // 17:16:18
$today = date ( "Y-m-d H:i:s" ); // 2001-03-10 17:16:18 (формат MySQL DATETIME)
?>

Читайте также:  Цифрал ссд 2094 инструкция

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

Примечания

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

Начиная с PHP 5.1, временную метку начала запроса можно получить из поля $_SERVER[‘REQUEST_TIME’] .

Смотрите также

  • gmdate() – Форматирует дату/время по Гринвичу
  • idate() – Преобразует локальное время/дату в целое число
  • getdate() – Возвращает информацию о дате/времени
  • getlastmod() – Получает время последней модификации страницы
  • mktime() – Возвращает метку времени Unix для заданной даты
  • strftime() – Форматирует текущую дату/время с учетом текущих настроек локали
  • time() – Возвращает текущую метку системного времени Unix
  • strtotime() – Преобразует текстовое представление даты на английском языке в метку времени Unix
  • Предопределенные константы даты и времени
Комментировать
268 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector