sqlite的strftime中的时区偏移

时间:2018-10-23 18:01:05

标签: sqlite timezone strftime

如何用sqlite的strformat表示日期时间的时区?具体来说,我想要一个时区(偏移)感知的ISO8601表示形式,例如2018-10-23T19:58:33+02:00

official documentation声称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 :(得分:0)

您最好的选择是在应用程序级别进行操作,即从数据库中提取时间作为Unix时间戳,然后使用C strftime()函数(或任何与您使用的语言等效的函数)转换为所需的格式正在使用)。