Смещение часового пояса в strftime sqlite - PullRequest
0 голосов
/ 23 октября 2018

Как мне выразить часовой пояс даты и времени с помощью sqlite strformat?В частности, я хочу, чтобы представление ISO8601, поддерживающее часовой пояс (смещение), такое как 2018-10-23T19:58:33+02:00.

Официальная документация утверждает, что sqlite поддерживает наиболее распространенные опции C'strftime.По-видимому, это не включает в себя %z или %Z в строке формата, так как вывод, если я использую один из них, будет пустым:

sqlite> select strftime('%Y-%m-%dT%H:%M:%S', datetime(1540317513, 'unixepoch', 'localtime'));
2018-10-23T19:58:33
sqlite> select strftime('%Y-%m-%dT%H:%M:%S%z', datetime(1540317513, 'unixepoch', 'localtime'));

sqlite> select strftime('%Y-%m-%dT%H:%M:%S%Z', datetime(1540317513, 'unixepoch', 'localtime'));

sqlite>

Так как мне включить часовой пояс в строку sqlite?представление даты и времени?

1 Ответ

0 голосов
/ 23 октября 2018

Лучше всего сделать это на уровне приложения, т. Е. Извлечь время из базы данных как метки времени Unix, а затем преобразовать в нужный формат с помощью функции C strftime () (или любого ее эквивалента на языке, который вы используете).используете).

...