Итак, мне это не кажется правильным. Когда сравниваются две даты с одним и тем же часовым поясом с разницей всего в одну минуту, это говорит о том, что разница составляет 59 минут.
date_default_timezone_set('America/New_York');
$stored_time = "2020-03-10 07:37:37 PM EST"; //Aprox 1 minute before Carbon::now()
$stored_time = Carbon::createFromFormat('Y-m-d h:i:s A T', $stored_time, 'EST');
echo $stored_time . "\n";
echo Carbon::now() . "\n";
$minutes_difference = Carbon::now()->diffInMinutes($stored_time);
echo $minutes_difference;
В настоящее время я использую обходное решение, приведенное ниже, но это не сильно смысл для меня. Кроме того, когда я отображаю как $stored_time
, так и Carbon::now()
, это не , показывающее разницу в часах, если только не используется diffInMinutes()
метод
$stored_time = Carbon::createFromFormat('Y-m-d h:i:s A T', $stored_time, 'EST')->subHour(1);
Редактировать: Настройка хранимого времени на "2020-03" -10 09:27:37 EST "(примерно за 3 минуты до запуска сценария) это вывод:
stored_time: 2020-03-10 21:27:37
Carbon::now():2020-03-10 21:30:00
time(): 1583890200
minutes_difference: 57