2016-06-30 1 views
2

メッセージボードのようなWebアプリケーションを構築しているとき、メッセージが送信される時刻を記録したいとします。日付をさらに処理する必要はありません。アプリケーション自体で日付を取得するか、データベースで生成するかの間に実用的な違いはありますか? 1つの方法が他の方法よりも推奨されていますか?もしそうなら、なぜですか?現在の日付を保存するときは、Webアプリケーションまたはデータベースに設定する必要がありますか?

$msg = "Stuff"; 

//Generating the date in the application 
$currentTime = date("Y-m-d H:i:s"); 
$st = $mysqli->prepare("insert into messages (msg, date_time) values (?, ?)"); 
$st->bind_param("ss", $msg, $currentTime); 

//--- OR --- 

//Generating the date in the database 
$st = $mysqli->prepare("insert into messages (msg, date_time) values (?, CURRENT_TIME())"); 
$st->bind_param("s", $msg); 

はまた、より良いdate_timeフィールドにCURRENT_TIMESTAMPのデフォルト値を用いて第2のオプションに実装されるだろうか、それははるかに違いはありませんか?

答えて

1

データベースとWebサーバーが1台のサーバー上にある場合は問題ありません。彼らの時代は同じだろう。

次のいずれかが可能です。

  • は、PHPのtime()

を使用してタイムスタンプを保存UTC + 0

  • の下に日時を保存し、アプリケーションがへのタイムゾーンの調整および/またはタイムスタンプを実行してみましょう日時変換。

  • 関連する問題