私に説明しましょう:特定の日時のタイムゾーンをデータベースに格納する適切な方法について質問していません。私はタイムゾーンについて話している。例:データベースにタイムゾーンを格納する適切な方法はありますか?
「users」という名前のMySQLテーブルがあります。今、この表では、ユーザーがどこにいても(ユーザーによって提供され、リストから選択される)どこにでもタイムゾーンを含む列を作成したいと考えています。今、(少なくとも私にとっては)明白な解決策を
「ユーザ」テーブルにVARCHAR列を作成するには、次のようになります。私は、これらのようなタイムゾーン文字列のリストを持っているPHP、で働いていますその列にPHPが使用するタイムゾーン文字列を格納します。
私はこれについて考えています。これは、PHPを使用してそのデータベーステーブルとやりとりすることを前提としています。そして、もし私が間違っていれば私を修正してください。PHPのタイムゾーン文字列はおそらく他のプログラミング言語では機能しません。おそらく、他の言語にはタイムゾーン処理のための独自の定数があります。
DB列にユーザーのタイムゾーン設定を保存する方法は?すべてのアイデアは確かに評価されます。
注:PHPのタイムゾーンに関する有用な点は、DSTが有効であっても自動的に考慮するということです。これは素晴らしいものです。だから、数値オフセットを格納するのではなく、それらを使うことに興味があることが分かります。
データベースに数値オフセットを格納し、数値オフセットをPHPのタイムゾーン文字列にマップするPHP "config"ファイルを作成できます。 – Passerby
@Passerby - オフセットはタイムゾーンではありません。年間を通してオフセットを変更する多くのタイムゾーンと、同じオフセットを共有する多くの異なるタイムゾーンがあります。 –
@MattJohnsonあなたのプログラムがそれらを言語固有の定数に「翻訳」する方法を知っている限り、任意のフォーマットのオフセットを格納することができます。 -8ゾーン全体に「-8」を格納する代わりに、カリフォルニアには「-8.1」、別の場所には「-8.2」(アメリカ人ではないので、あまり知らない)を保存することができます。 – Passerby