Когда я запускаю следующий запрос в своей базе данных SQLite, предназначенный для преобразования даты и времени unixtime в читаемый формат:
select datetime('1483228802') from mytable limit 1;
Я получаю следующий результат:
4056230-49125276-18 12:00:00
Явно что-то не так. День и месяц нечитаемы, а год и время неверны, так как этот код python для преобразования этого шоу unixtime:
from datetime import datetime
ts = int("1483228802")
print(datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S'))
>2017-01-01 00:00:02
Вам нужно использовать модификатор 'unixepoch'
. Без этого число интерпретируется как юлианские дни.
SELECT datetime(1483228802, 'unixepoch');
The "unixepoch" modifier (11) (...) causes the DDDDDDDDDD to be interpreted not as a Julian day number as it normally would be, but as Unix Time (...)