Работа с датами и временем
Получение разницы между двумя датами/временем
Наиболее подходящим способом является использование класса DateTime
.
Пример:
Кроме того, сравнение двух дат намного проще, просто используйте операторы сравнения (откроется в новом окне), например:
Преобразование даты в другой формат
Основы
Упрощенный способ преобразования один формат даты в другой должен использовать strtotime()
(открывается новое окно) с date()
(открывается новое окно). strtotime()
преобразует дату в временную метку Unix (открывается в новом окне). Затем эту метку времени Unix можно передать в date()
, чтобы преобразовать ее в новый формат.
Или как однострочный:
Имейте в виду, что strtotime()
требует, чтобы дата была в допустимом формате (открывает новое окно). Неспособность предоставить допустимый формат приведет к тому, что strtotime()
вернет false, что приведет к тому, что ваша дата будет 1969-12-31.
Использование DateTime()
Начиная с PHP 5.2, PHP предлагает класс DateTime()
(opens new window), который предлагает нам более мощные инструменты для работы с датами (и временем). Мы можем переписать приведенный выше код, используя DateTime()
, следующим образом:
Работа с временными метками Unix
date()
принимает временную метку Unix в качестве второго параметра и возвращает отформатированную дату:
DateTime( ) работает с временными метками Unix, добавляя @
перед отметкой времени:
Если у вас есть отметка времени в миллисекундах (она может заканчиваться на 000
и/или отметка времени состоит из тринадцати символов), вам нужно преобразовать ее в секунды, прежде чем вы сможете преобразовать ее в другой формат. Есть два способа сделать это:
- Обрезать последние три цифры с помощью
substr()
(открывает новое окно)
Обрезать последние три цифры можно несколькими способами, но с помощью substr()
проще всего:
- Разделите substr на 1000
Вы также можете преобразовать временную метку в секунды, разделив ее на 1000. Поскольку временная метка слишком велика для 32-битных систем, вам нужно будет использовать BCMath (открывает новое окно) библиотека для выполнения математических операций в виде строк:
Чтобы получить временную метку Unix, вы можете использовать strtotime()
, которая возвращает временную метку Unix:
С DateTime() вы можете использовать DateTime::getTimestamp()
(открывается в новом окне)
Если вы используете PHP 5.2, вы можете вместо этого использовать параметр форматирования U
:
Работа с нестандартными и неоднозначными форматами даты
К сожалению, не все даты, с которыми приходится работать разработчику, находятся в стандарте формат. К счастью, PHP 5.3 предоставил нам решение для этого. DateTime::createFromFormat()
(opens new window) позволяет нам сообщить PHP, в каком формате находится строка даты, чтобы ее можно было успешно преобразовать в объект DateTime для дальнейших манипуляций.
В PHP 5.4 мы получили возможность доступа к членам класса при создании экземпляра, что позволяет нам превратить наш код DateTime()
в однострочный код:
К сожалению, это не работает с DateTime::createFromFormat ()
еще.
Разобрать описания дат на английском языке в формат даты
Используя функцию strtotime()
(открывает новое окно) в сочетании с date()
(открывается новое окно), вы можете анализировать различные текстовые описания на английском языке по датам:
Использование предопределенных констант для формата даты
Мы можем использовать предопределенные константы для формата даты в date()
вместо обычных строк формата даты, начиная с PHP 5.1.0.
Доступны предопределенные константы формата даты :01 UTC)
DATE_RSS
— RSS (пт, 22 июля 2016 г. 14:50:01 +0000)
DATE_W3C
— Консорциум World Wide Web (2016-07-22T14:50:01+00:00)
DATE_ISO8601
— ISO-8601 (2016-07-22T14:50:01+0004)
4
4 Date_rfc822 — RFC 822 (пт, 22 июля 16 14:50:01 +0000) Date_rfc850
— RFC 850 (пятница, 22 -июль -16 14:50:01 UTC)
Date_rfc1036
-RFC 10367
(Пт, 22 июля 16 14:50:01 +0000)
DATE_RFC1123
- RFC 1123 (Пт, 22 июля 2016 г. , 14:50:01 +0000)
DATE_RFC2822
- RFC 2822 (пт, 22 июля 2016 г. 14:50:01 +0000)
DATE_RFC3339
- то же самое, что и DATE_ATOM (2016-07-22T14: 50: 01 +00: 00)
9001 9001 Examples
This will output: Fri, 22 Jul 16 14:50:01 +0000
This will output: 1947-08-15T00:00:00+05:30
Syntax
- строка даты (строка $format [ int $timestamp = time() ])
- int strtotime (строка $time [ int $now])
Как получить следующий, предыдущий день, месяц, год с даты в PHP
От администратора
Оставьте комментарий о том, как получить следующий, предыдущий день, месяц, год с даты в PHP
Как получить URL-адрес предыдущей страницы в...
Пожалуйста, включите JavaScript
Как получить URL-адрес предыдущей страницы в PHP?
Как получить следующий и предыдущий день, месяц и год от заданной даты в PHP. В этом уроке вы узнаете, как получить следующий и предыдущий день, месяц и год от заданной даты в php.
Этот туториал покажет вам примеры того, как получить следующий и предыдущий день, месяц и год от заданной даты в php.
Как получить следующий, предыдущий день, месяц и год по дате в PHP
Используйте следующие примеры для получения следующего, предыдущего дня, месяца, года из заданных данных в php; выглядит следующим образом:
- Как получить предыдущий день с даты в Php?
- Как получить следующий день с даты в Php?
- Как получить предыдущий месяц с даты в Php?
- Как получить следующий месяц с даты в Php?
- Как получить предыдущий год с даты в Php?
- Как получить следующий год с даты в Php?
Как получить предыдущий день с даты в Php?
Вы можете увидеть следующий пример того, как получить предыдущий день из даты в php:
Вывод:
2021-01-10
Как получить следующий день с даты в Php?
Вы можете увидеть следующий пример того, как получить следующий день из даты в php:
вывод:
2021-01-12
Как получить предыдущий месяц с даты в Php?
Этот пример того, как получить предыдущий месяц по дате в php:
Вывод:
2020-12-11
Как получить следующий месяц с даты в Php?
Вы можете увидеть следующий пример того, как получить следующий месяц из даты в php:
Вывод:
2021-02-11
Как получить предыдущий год с даты в Php?
Чтобы найти предыдущий год по дате в PHP, вы можете увидеть следующий пример:
Вывод:
2020-01-11
Как получить следующий год с даты в Php?
Чтобы найти следующий год по дате в PHP, вы можете увидеть следующий пример:
Выход:
2022-01-11
Рекомендуемые учебники PHP
Рекомендуется:- PHP 8 Pagination с примером Bootstrap
Рекомендованное:- Регистрация пользователя с помощью электронной почты в PHP PHIP PHIP PHIP PHIP PHIP PHIP PHIP PHIP PHIP PHIP PHIP PHIP PHIP PHIP PHP PHIP PHIP PHIP PHP PHIP PHP PHP PHIP PHIP.
Date_rfc850
— RFC 850 (пятница, 22 -июль -16 14:50:01 UTC) Date_rfc1036
-RFC 10367 (Пт, 22 июля 16 14:50:01 +0000)
DATE_RFC1123
- RFC 1123 (Пт, 22 июля 2016 г. , 14:50:01 +0000) DATE_RFC2822
- RFC 2822 (пт, 22 июля 2016 г. 14:50:01 +0000) DATE_RFC3339
- то же самое, что и DATE_ATOM (2016-07-22T14: 50: 01 +00: 00) 9001 9001 Examples