SQLiteで日付時刻を扱う時のメモ

SQLiteでは、日付時刻も扱えるのですが、その際にはlocaltimeではなく、UTCで記録するよう意識した方がなにかとよいようだとのこと。ちょっと覚書しておきます。

  • datetime('now')で得られる時間はUTC
  • 記録時は、datetime('2009-11-06 23:40', 'utc')とすることで、時差が除かれたUTCが保存される。日本時間は+0900だから、2009-11-06 14:40:00となる。
  • データ取り出しの際は、datetime(field_name, 'localtime')とすることで、日本の時差分、+0900がされた時刻が得られる。

日付時刻として記録されたデータは、<や>といった比較演算子で評価可能です。

参考