У меня проблема с пониманием разницы между датой и временем.Я использую класс datetime PHP.
Вот небольшая часть моего кода для вычисления разницы даты и времени:
<code>date_default_timezone_set("Asia/Kolkata");
function timeline_date($date)
{
$today = new DateTime();
$timeline_date = new DateTime($date);
$interval = $today->diff($timeline_date);
echo "<pre>";
print_r($today);
print_r($timeline_date);
print_r($interval);
echo "
";} $ date =" 2019-02-02 04:36:02"; echo timeline_date ($ date);
Что означает выражение:
$interval = $today->diff($timeline_date);
Вычитает ли оно значение timeline_date из $ today?
Илиэто вычитает $ сегодня из $ timeline_date?
У меня возникла путаница в связи с этим конкретным утверждением. Я искал в Интернете, но ничего явно не упомянуто.
Также $ timeline_date может быть в прошломили будущая дата и даже сегодняшняя дата. Так имеет ли значение, что мы должны вычесть небольшое количество из большого количества?
Я получаю следующий вывод из кода выше:
DateTime Object
(
[date] => 2019-02-05 16:11:37
[timezone_type] => 3
[timezone] => Asia/Kolkata
)
DateTime Object
(
[date] => 2019-02-02 04:36:02
[timezone_type] => 3
[timezone] => Asia/Kolkata
)
DateInterval Object
(
[y] => 0
[m] => 0
[d] => 3
[h] => 11
[i] => 35
[s] => 35
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 1
[days] => 3
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
Мы можем видеть [invert] => 1
в приведенном выше массиве. Что на самом деле означает это? Если я изменю дату $ на:
$date = "2019-02-10 04:36:02";
, то [invert] => 0
изменится на 1. Почему?будет 0, и если у нас будет будущая дата, то этот элемент массива будетбыть 1?