UNIXタイムスタンプは、1970-01-0100:00:00UTCからの秒数です。 SQLiteは、UNIXタイムスタンプを取得するためのいくつかの方法を提供します。
STRFTIME()
機能
STRFTIME()
関数は、指定された形式で日付と時刻の値を返します。 %s形式の文字列置換を使用して、1970-01-01 00:00:00 UTC(つまり、UNIXタイムスタンプ)からの秒数を返すことができます:
SELECT STRFTIME('%s');
結果:
1646695406
UNIXEPOCH()
機能
UNIXEPOCH()
関数は、UNIXタイムスタンプを返すように特別に設計されています。この関数はSQLite3.38.0(2022年2月2日リリース)で導入されたため、SQLite3.38.0以降を使用している場合にのみ機能します。
SELECT UNIXEPOCH();
結果:
1646695411
結果は似ていることがわかりますが、各例の実行にかかった時間によって明らかに違いがあります。
組み合わせ
念のために言っておきますが、ここに再びあります。ただし、今回は両方を同じSELECT
内で実行します ステートメント:
SELECT
UNIXEPOCH(),
STRFTIME('%s');
結果:
UNIXEPOCH() STRFTIME('%s') ----------- -------------- 1646695558 1646695558