【问题标题】:Database Record created_at Time Randomly Changes数据库记录 created_at 时间随机变化
【发布时间】:2017-09-01 18:28:15
【问题描述】:

我正在使用基于LaravelOctoberCMS

我正在使用带有 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 日期/时间。

现在上传了好几次,记录的时间已经提前了好几个小时。

这会使画廊图像显示无序。

OctoberCMS 数据库查看器:


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

什么可能导致时间改变?为什么会有 3 个不同的冲突时间?

【问题讨论】:

  • 您是否尝试过使用 Carbon 代替 date()
  • @GiamPy 我可能已经解决了,我发布了答案。

标签: php linux laravel laravel-5 octobercms


【解决方案1】:

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

小号h 表示带前导零的小时的 12 小时格式 大写的H 是一个小时的24小时格式,前导零

【讨论】:

    【解决方案2】:

    我可能已经解决了,我已将h:i:s 更改为H:i:s

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

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

    我会在几个小时后看到它是否清除了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 2021-02-06
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      相关资源
      最近更新 更多