所以,这对我来说似乎不正确。比较具有相同时区的两个日期仅相差一分钟时,它告诉我相差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);
编辑:将stored_time调整为“ EST 2020-03-10 09:27:37 PM EST”(运行脚本之前约3分钟),这是输出:
stored_time: 2020-03-10 21:27:37
Carbon::now():2020-03-10 21:30:00
time(): 1583890200
minutes_difference: 57
所以,这对我来说似乎不正确。当比较两个时区相同的时区时,相差只有一分钟,这告诉我有59分钟的时差。 date_default_timezone_set('...
如果您在代码中始终使用相同的America/New_York
时区,则将获得预期的结果。