DateInterval подробно

 

В PHP часто нужно оперировать датой и временем, поэтому...

 DateInterval в этом отлично поможет...как он работает подробно.

Его конструктор Datetime, который выводит время:

$date_and_time = new Datetime(); // поместить настоящее время в эту переменную и затем можно ее вывести или с ней работать.

 

А вот DateInterval - задает интервалы, например, вам нужно вычислить автоматически какое будет время, если отнять от текущей даты и времени 1 день, 7 дней или месяц, или какое будет время и даты, если прибавить 2 раза к настоящей, которая сейчас:

<?php

$interval = new DateInterval('P2W'); # 2-week
$date = new DateTime('Jan 20, 2022 2:00:00PM');
echo $date->format('d-M-Y H:i:s') . '<br>';
# 20-Jan-2022 14:00:00

$date->add($interval);
echo $date->format('d-M-Y H:i:s') . '<br>';
# 03-Feb-2022 14:00:00

// Adding the same interval again
$date->add($interval);
echo $date->format('d-M-Y H:i:s');
# 17-Feb-2022 14:00:00

 Тут мы воспользовались методом add - его используют, чтобы высчитать будущую дату, а чтобы вычесть sub :

<?php

$interval = new DateInterval('P2W'); # 2-week
$date = new DateTime('Jan 20, 2022 2:00:00PM');
echo $date->format('d-M-Y H:i:s') . '<br>';
# 20-Jan-2022 14:00:00

$date->sub($interval);
echo $date->format('d-M-Y H:i:s') . '<br>';
# 06-Jan-2022 14:00:00

// Adding the same interval again
$date->sub($interval);
echo $date->format('d-M-Y H:i:s');
# 23-Dec-2021 14:00:00

 

Спецификация интервала также может быть представлена в виде даты и времени. Например, формат P2YT2H10M может быть записан как P0002-00-00T02:10:00.

 

DateInterval принимает в качестве аргумента - интервал, который записываются с помощью данных буковок:

P – Формат должен начинаться с буквы P (период), следующие обозначения представляют период:

  • Y (годы): P2Y означает 2 года.
  • M (месяцы): P2Y3M означает 2 года и 3 месяца.
  • D (дни): P2Y3M29D означает 2 года, 3 месяца и 29 дней.
  • W (недели): P2Y3M2W означает 2 года, 3 месяца и 2 недели.

T – Временная часть спецификации интервала представлена T (время).

  • H (часы): PT2H означает 2 часа, P2Y3M29DT2H означает 2 года, 3 месяца, 29 дней и 2 часа.
  • M (минуты): PT2H5M означает 2 часа и 5 минут. P2YT2H5M означает 2 года, 2 часа и 5 минут.
  • S (секунды): PT59S означает только 59 секунд. P3MT5S означает 3 месяца и 5 секунд.

 

 

Добавить комментарий


Защитный код
Обновить

Вы здесь: Сайтостроение Создание сайта PHP DateInterval подробно