web-dev-qa-db-ja.com

sqliteでUnixエポック時間を変換する方法

sqlite?(GMT + 7は非常にありがたい)で、Unixエポック時間をyyyy-mm-dd hh:mm:ss(24h)の形式に変換するのを手伝ってもらえますか。

例:1319017136629から2011年10月19日水曜日4:38:56 PM GMT + 7

事前に感謝します。

p/s:ただ見て回ると解決策が見つかりました:

SELECT datetime(1319017136629, 'unixepoch', 'localtime');

しかし、私はまだSQLiteでUnixepoch時間をバッチ変換する方法を探しています。

28
Phong Tran

データベースの値を変更するには、UPDATEコマンドを使用します。

UPDATE MyTable SET MyColumn = datetime(MyColumn, 'unixepoch', 'localtime')
19
CL.

_1319017136629_はmillisecondsの値であり、UNIXエポック時間ではありません。したがって、_1000_で割って整数secondsに丸める必要があります。 その場合のみDATE()およびDATETIME()は変換されます。

_SELECT DATETIME(ROUND(dateColumn / 1000), 'unixepoch') AS isodate
FROM tableName
_

データベース値をlocaltimeに変換するのは残念です。出力の変換は問題が少ないです。

6
Martin Zeitler