2012-04-04 7 views
0

各ビデオがプレイヤーによっていつ再生されるかを知るために、データベースにプレイリストを作成する必要があります。 私は table playlist with: id, video_id, play_timeのようなものを使用します。たとえば、play_timeが2012-04-10 14:00:00の場合、ビデオは2012-04-10の14:00:00に再生されますが、ユーザーがいる時間帯に関連します位置しています。MySQLは異なるタイムゾーンのプレイリストを保存します

この日時またはタイムスタンプに使用する方が良いでしょうか? MySQL manualから

+1

あなたはUTCとして、すべての回を格納し、ユーザーのローカルTZ変換を行うためのアプリケーションを微調整したほうが良いかもしれません。 – liquorvicar

+1

使用するのが「より良い」ことはなぜ重要ですか?あなたが明らかにユーザーからのタイムゾーンであることを知らせる情報が必要です。 'datetime'を使用してUTC(ヨーロッパ/ロンドン)に格納すると、' timestamp'を使用した場合と同じ効果が得られます。デフォルトはUTCです。何が起きても、必要なオフセットを計算できるように、ユーザーからのタイムゾーンに関する情報が必要です。答えは - 両方です。両方の型を使用して日付データを格納できます。タイムゾーンのオフセットを含める必要がある必要な日付をクエリに提供するのはアプリです。 –

答えて

1

MySQLは 記憶のためにUTCに現在のタイムゾーンからのタイムスタンプ値を変換し、バックUTCから検索するための現在のタイムゾーンに。 (これはDATETIMEなどの他のタイプでは発生しません)デフォルトでは、 各接続の現在のタイムゾーンはサーバーの時刻です。 タイムゾーンは、接続ごとに設定できます。 ゾーン設定が一定のままであれば、保存した値と同じ値が返されます。 TIMESTAMP値を格納してからタイムゾーンを変更し、 が値を取得した場合、取得した値は保存した値 とは異なります。これは、両方の方向で の変換に同じタイムゾーンが使用されなかったために発生します。現在のタイムゾーンは、 としてtime_zoneシステム変数の値として使用できます。詳細については、 セクション9.6,“MySQL Server Time Zone Support”を参照してください。

だから、答えは:タイムスタンプ

関連する問題