PHP
Класс Datetime
Поиск…
getTimestamp
getTimeStemp
- это getTimeStemp
представление объекта datetime.
$date = new DateTime();
echo $date->getTimestamp();
это приведет к целому числу секунд, прошедших с 00:00:00 по UTC, в четверг, 1 января 1970 года.
SETDATE
setDate
устанавливает дату в объекте DateTime.
$date = new DateTime();
$date->setDate(2016, 7, 25);
этот пример устанавливает, что дата должна быть двадцать пятого июля 2015 года, это приведет к следующему результату:
2016-07-25 17:52:15.819442
Добавление или вычитание интервалов даты
Мы можем использовать класс DateInterval для добавления или вычитания некоторого интервала в объекте DateTime.
См. Пример ниже, где мы добавляем интервал 7 дней и печатаем сообщение на экране:
$now = new DateTime();// empty argument returns the current date
$interval = new DateInterval('P7D');//this objet represents a 7 days interval
$lastDay = $now->add($interval); //this will return a DateTime object
$formatedLastDay = $lastDay->format('Y-m-d');//this method format the DateTime object and returns a String
echo "Samara says: Seven Days. You'll be happy on $formatedLastDay.";
Это будет выводиться (работает 1 августа 2016 года):
Самара говорит: «Семь дней». Вы будете счастливы в 2016-08-08.
Мы можем использовать метод sub так же, как вычитать даты
$now->sub($interval);
echo "Samara says: Seven Days. You were happy last on $formatedLastDay.";
Это будет выводиться (работает 1 августа 2016 года):
Самара говорит: «Семь дней». Вы были счастливы последним в 2016-07-25.
Создать DateTime из пользовательского формата
PHP способен анализировать несколько форматов даты . Если вы хотите проанализировать нестандартный формат или хотите, чтобы ваш код явно DateTime::createFromFormat
используемый формат, вы можете использовать статический метод DateTime::createFromFormat
:
Объектно-ориентированный стиль
$format = "Y,m,d";
$time = "2009,2,26";
$date = DateTime::createFromFormat($format, $time);
Процедурный стиль
$format = "Y,m,d";
$time = "2009,2,26";
$date = date_create_from_format($format, $time);
Печать DateTimes
PHP 4+ предоставляет метод, формат, который преобразует объект DateTime в строку с требуемым форматом. Согласно PHP Manual, это объектно-ориентированная функция:
public string DateTime::format ( string $format )
Функция date () принимает один параметр - формат, который является строкой
Формат
Формат представляет собой строку и использует одиночные символы для определения формата:
- Y : четырехзначное представление года (например: 2016 год)
- y : двухзначное представление года (например: 16)
- м : месяц, число (от 01 до 12)
- M : месяц, три письма (январь, февраль, март и т. Д.)
- j : день месяца, без начальных нулей (от 1 до 31)
- D : день недели, как три буквы (пн, Вт, ср и т. Д.),
- ч : час (12-часовой формат) (от 01 до 12)
- H : час (24-часовой формат) (от 00 до 23)
- A : либо AM, либо PM
- i : минута, с ведущими нулями (от 00 до 59)
- s : второй, с ведущими нулями (от 00 до 59)
- Полный список можно найти здесь
использование
Эти символы могут использоваться в различных комбинациях для отображения времени практически в любом формате. Вот некоторые примеры:
$date = new DateTime('2000-05-26T13:30:20'); /* Friday, May 26, 2000 at 1:30:20 PM */
$date->format("H:i");
/* Returns 13:30 */
$date->format("H i s");
/* Returns 13 30 20 */
$date->format("h:i:s A");
/* Returns 01:30:20 PM */
$date->format("j/m/Y");
/* Returns 26/05/2000 */
$date->format("D, M j 'y - h:i A");
/* Returns Fri, May 26 '00 - 01:30 PM */
процедурный
Формат процедуры аналогичен:
Объектно-ориентированный
$date->format($format)
Процессуальный эквивалент
date_format($date, $format)
Создать неизменяемую версию DateTime из Mutable перед PHP 5.6
Чтобы создать \DateTimeImmutable
в PHP 5.6+, используйте:
\DateTimeImmutable::createFromMutable($concrete);
Предварительно PHP 5.6 вы можете использовать:
\DateTimeImmutable::createFromFormat(\DateTime::ISO8601, $mutable->format(\DateTime::ISO8601), $mutable->getTimezone());