2017-04-06 8 views
0

私はLaravelに基づいてOctoberCMSを使用しています。データベースレコードcreated_at時間無作為に変更します

私は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データベースビューア:

database created_at time


私はターミナルでdateを実行すると、それは15:39:24、3時39分PMを返します。

何が原因で時間が変わる可能性がありますか?そしてなぜ3つの異なる矛盾する時間?

+0

と時間の24時間形式のため、使用してみましたさのためであるべきです'date()'の代わりにCarbon? – GiamPy

+0

@GiamPy私はそれを解決したかもしれない、私は答えを掲示した。 –

答えて

2

あなたは、日付形式の入力ミスがあります。それはY-m-d H:i:s代わりのY-m-d h:i:s

小さなhが先行ゼロ と資本Hと時間の12時間形式は、先頭のゼロ

0

私はそれを解決しているかもしれませんが、h:i:sH:i:sに変更しました。

12時間形式のレコードを保存していたと思うと、Laravelはそのレコードを24時間形式で表示していました。

10月のデータベースビューアでは、常に時刻が12時間形式で表示されるため、私はそれをキャッチしませんでした。

それがクリアされたら、数時間後に表示されます。

関連する問題