我使用下面的代码创建重新配置的时区连接。
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-2900:00:00相同。此外,在db中存储的时间是这样的
ts | name 1627545600000连体数据
查询确定,1行(S)在集(0.008616 s)
有人能帮我找出原因吗?此外,我发现在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);发布于 2022-01-15 15:08:55
与其他数据库软件一样,例如PostgreSQL,TDengine使用Posix时区规范,这意味着偏移量与ISO8601标准相反。
https://stackoverflow.com/questions/68573775
复制相似问题