sql >> データベース >  >> RDS >> Mysql

future(!)の日付をデータベースに保存する方法

    最初に、これについて以前に詳細に書いたので、私の回答を読んでくださいここ およびこちら 、およびLauTaarnskovによるこのブログ投稿

    特にMySQLに関しては、通常、TIMESTAMPは使用しません。 書き込み時にセッションのタイムゾーンからUTCに変換され、読み取り時にUTCからセッションのタイムゾーンに変換されるため、将来のイベントの現地時間のフィールド。これらが同じタイムゾーンIDである場合でも(必ずしもそうである必要はありません)、データを書き込んでからイベントが発生するまでの間に、一方または両方のタイムゾーンでタイムゾーンデータが変更されないという保証はありません。発生します。

    代わりに、DATETIMEを使用してください フィールド。暗黙的なタイムゾーン変換は行いません。あなたが書いた正確な値を取得します。イベントの現地時間を保存し、VARCHARを保存します イベントのタイムゾーン識別子を含むフィールド。これは、ユーザーの本来の意図を保持する唯一の方法です。

    理論的根拠とエッジケースはすべて、私が以前に与えた回答に記載されています。



    1. EFコア-テーブル'*.__EFMigrationsHistory'は存在しません

    2. doInbackground中に進行状況を表示する

    3. 複数のテーブルで同じ値を検索する

    4. オフライン国際化アプリを作成する方法:プロジェクト構造を構築する