数据库记录created_at时间随机变化

Database Record created_at Time Randomly Changes

我正在使用 OctoberCMS based on Laravel

我正在使用带有 Debian、PHP7、PHP-FPM 和 APCu 的服务器。

我安装了 NTP 并将服务器时间设置为 UTC。

/etc/php/7.0/fpm/php.ini中我设置了date.timezone = "UTC".


我有一个画廊,您可以在其中上传文件。

保存一条记录到数据库,设置时间上传到created_at列。

date_default_timezone_set('UTC');
$date = date("Y-m-d h:i:s", time());

# Save Database Record
$image = new Gallery();
$image->title = $title;
$image->created_at = $date;
$image->save();

图库按最新图片排在第一位,使用 created_at date/time。

上传后好几次,记录的时间都往前调了好几个小时

这会使图库图像显示全部乱序。

OctoberCMS 数据库查看器:


当我在终端运行date时,它returns15:39:24,3:39PM

什么可能导致时间发生变化?为什么有 3 个不同的冲突时间?

我可能已经解决了,我把h:i:s改成了H:i:s

我认为是将记录保存为 12 小时格式,然后 Laravel 将其显示为 24 小时格式。

October 的数据库查看器总是以 12 小时格式显示时间,所以我没看清。

我会在几个小时后看看是否解决了问题。

您的日期格式有误。它应该是 Y-m-d H:i:s 而不是 Y-m-d h:i:s

h 用于 12 小时格式的小时,前导零 大写 H 用于 24 小时格式的小时,前导零