以下は、SQLiteの日付と時刻の関数に有効な修飾子のリストです。
| 修飾子 | 例 |
|---|---|
| NNN日 | date(‘now’、‘+ 3 days’) |
| NNN時間 | datetime(‘now’、‘-3 hours’) |
| NNN分 | datetime(‘now’、‘+3 minutes’) |
| NNN.NNNN秒 | datetime(‘now’、‘-30 seconds’) |
| NNNか月 | date(‘now’、‘+ 3months’) |
| NNN年 | date(‘now’、‘-3 years’) |
| 月の初め | date(‘now’、‘start of month’) |
| 年の初め | date(‘now’、‘start of year’) |
| 一日の始まり | datetime(‘now’、‘start of day’) |
| 平日N | date(‘now’、‘weekday 6’) |
| unixepoch | datetime( ‘1588965525’、‘unixepoch’) |
| 現地時間 | datetime(‘now’、‘localtime’) |
| utc | datetime(‘now’、‘utc’) |
これらの修飾子はどのように機能しますか?
SQLiteで日付/時刻関数の1つを使用する場合、関数に提供される日付を変換するために修飾子を使用するオプションがあります。
たとえば、修飾子を使用して、特定の日付に日数、時間数、さらには分数を追加できます。または、修飾子を使用してUTCや現地時間などを指定することもできます。
例
上記の修飾子を使用した場合の出力を示す簡単な例を次に示します。
.mode line
SELECT
datetime('now'),
date('now', '+3 days'),
datetime('now', '+3 hours'),
datetime('now', '+3 minutes'),
datetime('now', '+30 seconds'),
date('now', '+3 months'),
date('now', '-3 years'),
date('now', 'start of month'),
date('now', 'start of year'),
datetime('now', 'start of day'),
date('now', 'weekday 6'),
datetime('1588965525', 'unixepoch'),
datetime('now', 'localtime'),
datetime('now', 'utc'); 結果:
datetime('now') = 2020-04-26 00:53:53
date('now', '+3 days') = 2020-04-29
datetime('now', '+3 hours') = 2020-04-26 03:53:53
datetime('now', '+3 minutes') = 2020-04-26 00:56:53
datetime('now', '+30 seconds') = 2020-04-26 00:54:23
date('now', '+3 months') = 2020-07-26
date('now', '-3 years') = 2017-04-26
date('now', 'start of month') = 2020-04-01
date('now', 'start of year') = 2020-01-01
datetime('now', 'start of day') = 2020-04-26 00:00:00
date('now', 'weekday 6') = 2020-05-02
datetime('1588965525', 'unixepoch') = 2020-05-08 19:18:45
datetime('now', 'localtime') = 2020-04-26 10:53:53
datetime('now', 'utc') = 2020-04-25 14:53:53