Could you help me convert UNIX epoch time into format yyyy-mm-dd hh:mm:ss (24h) in SQLite? (GMT+7 would be appreciated).
Example: from 13190171366
1319017136629 is a value in milliseconds, which is not UNIX epoch time;
therefore it has to be divided by 1000 and rounded to integer seconds; only then DATE() and DATETIME() will convert.
SELECT DATETIME(ROUND(dateColumn / 1000), 'unixepoch') AS isodate FROM tableName
Converting database values to localtime is unfortunate; conversion on output is less problematic.
The Y2038 problem might already be worth a consideration.
SELECT DATE(ROUND(1601272453000 / 1000), 'unixepoch')
To change the values in the database, use the UPDATE command:
UPDATE MyTable SET MyColumn = datetime(MyColumn, 'unixepoch', 'localtime')