如何在sqlite中转换Unix纪元时间

Pho*_*ran 28 sql unix sqlite epoch

你能帮我把Unix纪元时间换成格式yyyy-mm-dd hh:mm:ss(24h)在sqlite中吗?(GMT + 7非常感谢).

例如:从1319017136629到2011年10月19日星期三下午4:38:56 GMT + 7

提前谢谢了.

p/s:环顾四周找到解决方案:

SELECT datetime(1319017136629, 'unixepoch', 'localtime');
Run Code Online (Sandbox Code Playgroud)

但我仍在寻找一种在SQLite中批量转换Unixepoch时间的方法.

CL.*_*CL. 19

要更改数据库中的值,请使用以下UPDATE命令:

UPDATE MyTable SET MyColumn = datetime(MyColumn, 'unixepoch', 'localtime')
Run Code Online (Sandbox Code Playgroud)


Mar*_*ler 7

1319017136629是中的值milliseconds,不是UNIX时代时间;因此它必须除以1000并四舍五入为整数seconds; 只有这样 DATE()DATETIME()才会转换。

SELECT DATETIME(ROUND(dateColumn / 1000), 'unixepoch') AS isodate
FROM tableName
Run Code Online (Sandbox Code Playgroud)

将数据库值转换为localtime是不幸的;输出转换没有问题。


小智 6

与上述相同:

SELECT DATE(ROUND(1601272453000 / 1000), 'unixepoch')

  • 你可以解释吗? (7认同)