You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Apache IoTDB中的时间显示改为时间戳格式?

修改Apache IoTDB时间列显示为Long时间戳格式

1. CLI临时切换格式

在IoTDB的命令行界面(CLI)里,直接执行以下SQL命令就能立刻切换时间显示格式:

SET TIME_DISPLAY_FORMAT='epoch';

执行后,后续所有查询返回的time列都会以毫秒级Long类型时间戳展示。要是想改回原来的ISO格式,执行这条命令即可:

SET TIME_DISPLAY_FORMAT='yyyy-MM-dd''T''HH:mm:ss.SSSZ';

2. 代码查询时的两种处理方式

如果是通过JDBC等代码方式查询,有两种方案:

  • 全局会话设置:在建立连接后先执行格式设置命令,后续查询都会生效
Statement stmt = connection.createStatement();
stmt.execute("SET TIME_DISPLAY_FORMAT='epoch'");
ResultSet rs = stmt.executeQuery("SELECT * FROM root.test.device");
// 此时从rs中获取的time字段值为Long类型
  • 单查询转换:不想全局修改的话,直接在SQL里用to_timestamp函数转换时间列
SELECT to_timestamp(time), temperature FROM root.test.device;

3. 全局永久配置修改

如果希望所有新会话默认都用Long时间戳显示时间,修改IoTDB的iotdb-common.properties配置文件:
找到time_display_format配置项,把值改成epoch:

time_display_format=epoch

保存配置后重启IoTDB服务,之后所有新连接的时间列都会默认显示为Long时间戳。

内容的提问来源于stack exchange,提问作者user22177617

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 05:32:07