Добавление дат углерода в php laravel - PullRequest
0 голосов
/ 25 мая 2018

У меня есть две углеродные даты, и я хотел бы сложить их вместе, как мне этого добиться?Я использую Laravel Framework

$date1 = \Carbon\Carbon::createFromFormat('H:i:s', $status_info->filed_ete)->addMinutes(15)

date two is in this variable of date_two
date_two = $status_info->filed_departuretime

как я могу добавить date1 и date_two вместе, спасибо

1 Ответ

0 голосов
/ 25 мая 2018

Не имеет смысла добавлять дату к другой дате (например, что равно 5 июня + 4 июля?).

Однако вы можете добавить дату интервал кдата (или интервал с интервалом).

Другими словами:

  • Дата + Интервал даты = Дата
  • Интервал даты + Интервал даты = Интервал даты
  • Дата + Дата = не имеет смысла

Так что, в основном, будьте осторожны с тем, какие вещи являются датами, а какие - интервалами.Я предполагаю, что вы действительно имеете в виду, сравнивая две разные даты с какой-то контрольной датой (как сейчас).

Пример с Carbon в Laravel:

// this is a date
// [now() is a Laravel helper that is the same as Carbon::now()]
$now = now();

// this is an interval
$departs_in_minutes = $now->diffInMinutes($departure_time);

// this is also an interval
$travel_minutes = $departure_time->diffInMinutes($arrival_time);

// this is adding an interval to a date
// which results in a date
$expected_time = now()->addMinutes($departs_in_minutes + $travel_minutes + 15);

См. http://carbon.nesbot.com/docs/#api-difference

Примечание: есть угроза с Carbon в том смысле, что она основана на PHP DateTime class и not DateTimeImmutable.Таким образом, вы должны быть осторожны при добавлении интервала к дате.Он добавит интервал к исходному объекту, изменив его в процессе, вместо того, чтобы возвращать копию этого объекта, как некоторые могут ожидать.Чтобы обойти это, используйте метод Carbon copy() при необходимости.

...