LINUX.ORG.RU

Как селектом получить дату-время в локальном представлении?

 


0

1

Есть таблица на SQLite, в ней хочу сохранять дату-время в UTC, но при выполнении select хочу видеть это время в локальном формате. Как это сделать? И какой формат колонки должен быть при create table?

select выводит напрямую в таблицу на форме, все это используется через Qt/C++ кроссплатформено.

DateTime это число с плавающей точкой, прибавить 1 это прибавить день, сообрази сколько там прибавить-вычесть

ilovewindows ★★★★★ ()
Ответ на: комментарий от xaizek

Наверное, как-то так:
SELECT datetime(mydate, 'unixepoch', 'localtime') FROM ...

Как-то все странно. В доках sqlite пишут, что колонка может быть text с форматом ISO8601:

YYYY-MM-DD HH:MM:SS.SSS

В КуТэ сделал дату toString(Qt::ISODate), получил (это по КуТэ'шному ISO8601):

2021-08-19T17:48:30Z

И теперь не понятно, вот это:

datetime(mydate, 'unixepoch', 'localtime')
из-за этого ли не сработало, или просто не работает

victor79 ()
Ответ на: комментарий от victor79

Нашел, вот так нужно:

datetime(mydate, 'localtime')

И тогда работает и с YYYY-MM-DD HH:MM:SS.SSS, и с 2021-08-19T17:48:30Z.

victor79 ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.