Influxdb: query return 错误的时间值(一切都是+1)

Influx DB: query return wrong time values (everything is +1)

我正在为我的涌入数据库进行一些非常简单的查询而苦苦挣扎。 每分钟,来自传感器的测量值都会写入数据库。

我尝试查询某一天,例如从00:00:00到23:59:59查询结果的开始时间不是我期望的00:01:00,不幸的是它是01:01:00

纪元时间值为例如 1578182460000000000

如果我将该值转换为人类可读的格式,我会得到 (epochconverter.com):

1578182460000000000

支持以秒、毫秒、微秒和纳秒为单位的 Unix 时间戳。 假设这个时间戳以纳秒为单位(十亿分之一秒): 格林威治标准时间:2020 年 1 月 5 日,星期日 00:01:00 您所在的时区:Sonntag, 5. Jänner 2020 01:01:00 GMT+01:00

怎么了? 将值写入数据库的程序和从数据库中读取值的系统都在同一时区。 (Europe/Vienna 格林威治标准时间+1)

查询是:

**> SELECT * FROM generalhistory WHERE time > '2020-01-05T00:00:00Z'  and time <  '2020-01-06' and DPName = 'Aussenbereich.Sensor.Hum' order by time asc limit 1;**
name: generalhistory
time                DPName                   ID       Manager    Timestamp            Value_Numeric Value_String
----                ------                   --       -------    ---------            ------------- ------------
1578182460000000000 Aussenbereich.Sensor.Hum 30104823 IPDriver_4 2020-01-05\ 01:01:00 99.9

期待 BR 迪特

非常正确,只是在使用当地时间 (GMT+1) 作为过滤参数时出现的问题。

因此要获得与当地时间 (GMT+1) 相等的正确 UTC 时间 (GMT+0),必须减去时间过滤器一小时,

查询如下:

SELECT * FROM generalhistory
WHERE time >= '2020-01-05T00:00:00Z' -1h
  and time < '2020-01-06T00:00:00Z' -1h
  and DPName = 'Aussenbereich.Sensor.Hum'
ORDER BY time ASC
LIMIT 1;

希望我的回答对您有所帮助。

Time syntax