PHPアプリケーションを構築するときに、私はいつもサーバタイムとタイムゾーンですべてを再生しようとするのに問題があります。PHP + MySQLビルドサーバーのタイムゾーンに依存しないスクリプト?
私は一般に、更新されないほとんどの私のレコードに単純なタイムスタンプのようなフィールドを持っています。イベントが発生したとき、ユーザーが登録されたとき、コメントが作成されたときなどを追跡するときに使用します。
この値を格納するためにDatetimeフィールドを使用するベストプラクティスに従っています。問題は、異なるサーバーを使用する場合、異なるタイムゾーンを持つことが多いため、相違を相殺するためのコードを追加しない限り、日時は近くでも一致しません。これは、MySQLレプリケーションとNOW()
クエリを使用するときに問題になる可能性があります。
私はintsを使うべきかどうかは、タイムゾーンについては何も気にしないと思っているだけで、サーバクロックが設定されている必要があるからです。欠けているのは、私が使用していないMySQLの日付/時刻関数はすべて将来的には問題になる可能性があるということです。残念ながら、私はdatetimesではなく4byteのintに戻ってストレージスペースを半分に減らすことができます。
また、intsは2037年までしか動作しないと言われています。なぜそれが問題なのですか?誰が2037年にPHP + MySQLを使用する予定ですか?
紛失しているものはありますか? Unixのタイムスタンプのような無関係な方法で参照時間を保存する方が良いでしょうか?
「2037年にPHP + MySQLを使用する予定の方は?」誰が2011年にも主要なプロトコルとしてIPv4を使用しているか、IE6のような旧式のソフトウェアを使用すると予想されるのでしょうか... –