[解決済み] MySQLにタイムゾーン情報を含むdatetimeを格納する方法
質問
私はタンザニアで撮影された何千枚もの写真を持っており、各写真が撮影された日付と時間を MySQL データベースに保存したいと思っています。しかし、サーバーは米国にあり、春の夏時間 (米国) 中の 1 時間に該当するタンザニアの日時を保存しようとすると、問題が発生します。タンザニアは夏時間を行わないので、その時間は実際に有効な時間です。
さらに複雑なのは、データベースに保存された日付時刻の値にアクセスする必要がある、さまざまなタイムゾーンの共同研究者がいることです。私は彼らに 常に をタンザニア時間として出力し、さまざまな協力者がいるローカル時間では出力されないようにしたいのです。
私はセッション時間を設定することに消極的です。なぜなら、誰かがセッション時間を設定することを忘れてしまい、時間を間違えてしまうという問題が発生することがわかっているからです。また、私はサーバーの何かを変更する権限を持っていません。
私は読みました。 サマータイムとタイムゾーンのベスト プラクティス と MySQL datetime フィールドと夏時間 -- 1 時間延長を参照するにはどうすればよいですか? そして PHP/MySQL で datetime を UTC として保存する。
しかし、どれも私の特定の問題を解決していないようです。私はSQLの専門家ではありません。DATETIMEを設定するときにタイムゾーンを指定する方法がありますか?私はそれを見たことがありません。そうでなければ、この問題にアプローチする方法についてどんな提案でも大いに感謝します。
編集します。 私が遭遇している問題の例を挙げます。私はコマンドを送信します。
INSERT INTO Images (CaptureEvent, SequenceNum, PathFilename, TimestampJPG)
VALUES (122,1,"S2/B04/B04_R1/IMAG0148.JPG","2011-03-13 02:49:10")
とエラーが出ます。
Error 1292: Incorrect datetime value: '2011-03-13 02:49:10' for column 'TimestampJPG'
この日時はタンザニアには存在しますが、データベースのあるアメリカには存在しません。
どのように解決するのですか?
あなたは言いました。
様々な協力者がいる現地時間ではなく、常にタンザニア時間で出てきて欲しいです。
このような場合、次のようにします。
ではなく
は UTC を使用します。 あなたがしなければならないことは
DATETIME
型の代わりに、MySQL で
TIMESTAMP
型の代わりに
MySQLが変換する
TIMESTAMP
の値は、保存時には現在のタイムゾーンから UTC に変換され、検索時には UTC から現在のタイムゾーンに戻されます。(のような他の型では発生しません)。
DATETIME
.)
もし、あなたが
すでに
を使用している場合
DATETIME
を使用している場合、そもそもローカルタイムで設定されていないはずです。 データベースよりも、アプリケーションのコードに注目する必要があります(ここでは示していません)。 問題や解決策は言語によって大きく異なるので、アプリケーションコードの適切な言語を質問のタグとして付けることを忘れないようにしてください。
関連
-
[解決済み】MySQLで「すべての派生テーブルは独自のエイリアスを持つ必要があります」というエラーは何ですか?
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] DateTime型の誕生日から年齢を計算するにはどうしたらいいですか?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] Pythonでタイムゾーンを意識したdatetimeオブジェクトを作るには?
-
[解決済み】MySQLのDatetimeカラムにデフォルト値を設定する方法とは?
-
[解決済み】文字列表現を使わずにタイムゾーンを設定した日付を作成する
-
[解決済み] JavaScriptでタイムゾーンオフセットを含むISO 8601形式の日付を作成するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQL Innodb インデックスメカニズム詳細解説
-
Mysqlデータベースの手動および定期的なバックアップ手順
-
MySQLインデックスベースストレステストの実装
-
MySql認証ベースのvsftpd仮想ユーザー
-
[解決済み】DynamoDB : 提供されたキー要素がスキーマと一致しません。
-
[解決済み] ユニークなテーブル/エイリアスではない
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] utf8_general_ciとutf8_unicode_ciの違いは何ですか?
-
[解決済み] MySQLで複数のカラムに一意制約を指定するには?
-
[解決済み] MySQLのdatetimeフィールドとサマータイム -- 「余分な」時間を参照するには?