如何用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的日期时间字符串表示中包含时区?
答案 0 :(得分:0)
您最好的选择是在应用程序级别进行操作,即从数据库中提取时间作为Unix时间戳,然后使用C strftime()函数(或任何与您使用的语言等效的函数)转换为所需的格式正在使用)。