TDengine jdbc 时区
Posted
技术标签:
【中文标题】TDengine jdbc 时区【英文标题】:TDengine jdbc timezone 【发布时间】:2021-07-29 09:53:27 【问题描述】:我使用下面的代码来创建时区重新配置的连接。
operties properties = new Properties();
properties.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC+8");
Connection connDefault = DriverManager.getConnection("jdbc:TAOS://" + host + ":0/", properties);
然后我用connDefault创建了一个语句,用这个语句插入和选择数据。
insert into meters values('2021-07-29 00:00:00', 'taosdata');
select * from meters ;
但是java代码查询结果是
ts=2021-07-29 16:00:00.0
有 16 小时的间隔。虽然我预计查询结果与插入时间“2021-07-29 00:00:00”相同。 更何况db中存储的时间是这样的
ts | name
1627545600000 |淘数据
查询正常,集合中有 1 行 (0.008616s)
有人可以帮忙找出原因吗? 另外,我在tdengine的官网上发现时区总是设置为“utc-8”,有人知道那个时区在哪里吗?
Properties connProps = new Properties();
connProps.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
connProps.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");
connProps.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8");
Connection conn = DriverManager.getConnection(jdbcUrl, connProps);
【问题讨论】:
【参考方案1】:与其他数据库软件(例如 PostgreSQL)一样,TDengine 使用 Posix 时区规范,这意味着偏移量与 ISO 8601 标准相反。
【讨论】:
以上是关于TDengine jdbc 时区的主要内容,如果未能解决你的问题,请参考以下文章
tdengine jdbc连接报错: Unable to resolve FQDN
在循环中将数据插入 TDengine 时 jdbc 驱动程序挂起
TDengine的java原生接口TSDBDriver连接错误