- date
- Список параметров
- Возвращаемые значения
- Ошибки
- Список изменений
- Примеры
- Примечания
- Смотрите также
- User Contributed Notes
- Как сравнить дату в php?
- Условия с датами php
- Вывод данных в зависимости от одной даты в году
- Пример скрипта : вывод информации в зависимости от определенной одной даты!
- Как выводить информацию, картинку в зависимости от нескольких дат!?
- Выводить информацию в зависимости от дня в разнобой даты.
- Автоматическое изменение количества лет на сайте php
- Результат «Автоматическое изменение количества лет на сайте php»
- автоматическое изменение количества лет на сайте php вывод в div
date
Возвращает строку, отформатированную в соответствии с указанным в параметре format шаблоном. Используется метка времени, заданная параметром timestamp (метка времени Unix), или текущее системное время, если параметр timestamp не задан. Таким образом, параметр timestamp является необязательным и по умолчанию равен значению, возвращаемому функцией time() .
Метки времени Unix не обрабатывают часовые пояса. Используйте класс DateTimeImmutable и его метод форматирования DateTimeInterface::format() для форматирования информации о дате/времени с привязкой к часовому поясу.
Список параметров
Замечание: Функция date() всегда будет генерировать 000000 в качестве микросекунд, поскольку она принимает параметр int , тогда как DateTime::format() поддерживает микросекунды, если DateTime был создан с микросекундами.
Необязательный параметр timestamp представляет собой метку времени типа int , по умолчанию равную текущему локальному времени, если timestamp не указан или null . Другими словами, значение по умолчанию равно результату функции time() .
Возвращаемые значения
Возвращает отформатированную строку с датой.
Ошибки
Каждый вызов к функциям даты/времени при неправильных настройках часового пояса сгенерирует ошибку уровня E_WARNING , если часовой пояс некорректный. Смотрите также date_default_timezone_set()
Список изменений
Версия | Описание |
---|---|
8.0.0 | timestamp теперь допускает значение null. |
Примеры
Пример #1 Примеры использования функции date()
// установка часового пояса по умолчанию.
date_default_timezone_set ( ‘UTC’ );
?php
// выведет примерно следующее: Monday
echo date ( «l» );
// выведет примерно следующее: Monday 8th of August 2005 03:12:46 PM
echo date ( ‘l jS \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 ));
/* пример использования константы в качестве форматирующего параметра */
// выведет примерно следующее: 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()
$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 );
?>?php
Замечание:
Данный способ более надёжен, чем простое вычитание и прибавление секунд к метке времени, поскольку позволяет при необходимости гибко осуществить переход на летнее/зимнее время.
Ещё несколько примеров использования функции date() . Важно отметить, что следует экранировать все символы, которые необходимо оставить без изменений. Это справедливо и для тех символов, которые в текущей версии PHP не распознаются как форматирующие, поскольку это может быть введено в следующих версиях. Для экранировании управляющих последовательностей (например, \n) следует использовать одинарные кавычки.
Пример #4 Форматирование с использованием date()
// Предположим, что текущей датой является 10 марта 2001, 5:16:18 вечера,
// и мы находимся в часовом поясе Mountain Standard Time (MST)
?php
$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\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 17:16:18 MST 2001
$today = date ( ‘H:m:s \m \i\s\ \m\o\n\t\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)
?>
Для форматирования дат на других языках вместо функции date() можно использовать метод IntlDateFormatter::format() .
Примечания
Замечание:
Для получения метки времени из строкового представления даты можно воспользоваться функцией strtotime() . Кроме того, некоторые базы данных имеют собственные функции для преобразования внутреннего представления даты в метку времени (например, функция MySQL » UNIX_TIMESTAMP).
Временную метку начала запроса можно получить из поля $_SERVER[‘REQUEST_TIME’] .
Смотрите также
- DateTimeImmutable::__construct() — Возвращает новый объект DateTimeImmutable
- DateTimeInterface::format() — Возвращает дату, отформатированную согласно переданному формату
- gmdate() — Форматирует дату/время по Гринвичу
- idate() — Преобразует локальное время/дату в целое число
- getdate() — Возвращает информацию о дате/времени
- getlastmod() — Получает время последней модификации страницы
- mktime() — Возвращает метку времени Unix для заданной даты
- IntlDateFormatter::format() — Форматирует значение даты/времени в виде строки
- time() — Возвращает текущую метку системного времени Unix
- Предопределённые константы даты и времени
User Contributed Notes
- Функции даты и времени
- checkdate
- date_add
- date_create_from_format
- date_create_immutable_from_format
- date_create_immutable
- date_create
- date_date_set
- date_default_timezone_get
- date_default_timezone_set
- date_diff
- date_format
- date_get_last_errors
- date_interval_create_from_date_string
- date_interval_format
- date_isodate_set
- date_modify
- date_offset_get
- date_parse_from_format
- date_parse
- date_sub
- date_sun_info
- date_sunrise
- date_sunset
- date_time_set
- date_timestamp_get
- date_timestamp_set
- date_timezone_get
- date_timezone_set
- date
- getdate
- gettimeofday
- gmdate
- gmmktime
- gmstrftime
- idate
- localtime
- microtime
- mktime
- strftime
- strptime
- strtotime
- time
- timezone_abbreviations_list
- timezone_identifiers_list
- timezone_location_get
- timezone_name_from_abbr
- timezone_name_get
- timezone_offset_get
- timezone_open
- timezone_transitions_get
- timezone_version_get
Как сравнить дату в php?
Есть дата в формате date(d.m.Y);
Одна дата берется на сайте из поля, а вторая берется с сервера. Нужно их сравнить и если дата из поля меньше, чем дата на сервере было написано, что собрание закончено, а если нет, то написано регистрация.
Сделал скрипт, но дата определяется видно не правильно.
Формат вывода даты поставил одинаковыйПростой 2 комментария
Я думаю один из наиболее простых вариантов — это сначала привести даты к формату Timestamp (т.е. по сути к числу), а потом сравнить их (2 числа). Подробности описаны, например, здесь.
P.S. Для PHP тоже есть песочница, можете выложить пример туда (например, суда), посмотрим вместе.
testtoster, Вы точно привели даты к числовому формату? У меня есть подозрение, что Вы продолжаете сравнивать строки. Предлагаю всё-таки выложить пример. Да, и ещё момент — если у в файле только PHP-код — закрывающий тег в нём не ставится.
Евгений Вольф, я указал пример кода, который пишу. сайт на wordpress. get_field(‘meetings_date’) — поле созданное плагином acf и указано как дата
Если формат одинаковый, то это должно работать
if( $date > $date_end)
Если отличается, надо привести к единому
if(time() > strtotime($date_end))UPD: пару примеров. Посмотреть выполнение можно в песочнице
$some_date1) ? $some_date1.' прошло' : $some_date1.' еще не наступило', PHP_EOL; //возращает верно, формат один echo (date("d.m.Y") > $some_date2) ? $some_date2.' прошло' : $some_date2.' еще не наступило', PHP_EOL; //возращает верно, приведено к единому формату echo (time() > strtotime($some_date1)) ? $some_date1.' прошло' : $some_date1.' еще не наступило', PHP_EOL; //возращает верно, приведено к единому формату echo (time() > strtotime($some_date2)) ? $some_date2.' прошло' : $some_date2.' еще не наступило', PHP_EOL;
Условия с датами php
Первым шагом вы должны естественно определиться, что вам требуется!?
Например каждая дата повторяется каждый месяц, кроме 31(через месяц) и 29 февраля
или же каждый год уникальная дата, будет показываться 1 раз в год.
Либо же сделать условие. что вообще в зависимости от даты, 29 февраля данные будут показываться каждые 4 года.
Поэтому самое логичное в переменную получить то, что нам требуется! Например функция date нам позволяет это сделать!
Если нам требуется уникальная дата в году, то тогда создадим переменную, которая будет генерировать сегодняшний день вместе с месяцем.
И далее нам остается создать условие, в котором будем проверять этот день, подробнее смюниже:
Вывод данных в зависимости от одной даты в году
Из выше приведенных данных нам нужно создать условие для вывода данных в определенную дату, дата может быть вообще любая!
Выбираем дату, пусть это будет 23 февраля
Создаем условие вывода информации в зависимости от даты:
Во внутрь ставим например простой вывод строки через echo:
И соответственно, что код будет срабатывать только один раз в году. 23 февраля.
Пример скрипта : вывод информации в зависимости от определенной одной даты!
Как выводить информацию, картинку в зависимости от нескольких дат!?
Предположим, что нам нужно выводить какую-то информацию в зависимости от нескольких дат!
Предположим, что это будет период времени от 25 декабря до 10 января, мы пойдем хитрым путем мы в условии пропишем если это месяц равен 1, то это январь( date(‘m’)==1 ) и дата меньше или равно 10 date(‘d’) , точно такое повторяем с декабрем
И далее выводим требуемую информацию в зависимости от нескольких дат, соберем весь код вместе:
По данному принципу унас на сайте выводится информация в зависимости от даты.
Выводить информацию в зависимости от дня в разнобой даты.
Предположим, что нам требуется выводить какую-то информацию в зависимости от даты в разнобой!
Опять помещаем в переменную нашу дату:
Создаем массив с датами, в которые дни нам требуется что-то выводить;
И нам еще будет нужна функция in_array, которая и проверит присутствие сегодня в нашем массиве.
$days_array = array(«01-01» , «20-05» , «30-05» );
if (in_array( $today, $days_array )) < Действие >
Автоматическое изменение количества лет на сайте php
Страница выводится по поисковому запросу :»Автоматическое изменение количества лет на сайте php«, чтобы разобраться в данном вопросе нам понадобится:
Когда вы говорите — «Автоматическое изменение количества лет на сайте php» — что конкретно вы имеете ввиду, потому, что такое можно понять неоднозначно.
Если вам нужен вывод текущего года, то это делается очень просто! нам понадобится :
+ Один из вариантов вывода на экран echo
Результат «Автоматическое изменение количества лет на сайте php»
Выше идущий пункт — это лишь часть изначального вопроса:
автоматическое изменение количества лет на сайте php вывод в div
Вообще с вопросом : «автоматическое изменение количества лет на сайте php» — надеюсь выше вы разобрались. теперь с выводом в div.
Здесь немного мне непонятно, а какая разница вывода вообще в любую часть html? А если выводить в тег span(или в любой другой тег?), то это бюудет отличаться? Ну да ладно. бог с вами. вернемся к вопросу «автоматическое изменение количества лет на сайте php вывод в div».
Берем выше использованный код и помещаем его в div, единственная загвоздка, которая может вам встретиться — это включить php в html(если у вас не включено)