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;
希望我的回答对您有所帮助。
我正在为我的涌入数据库进行一些非常简单的查询而苦苦挣扎。 每分钟,来自传感器的测量值都会写入数据库。
我尝试查询某一天,例如从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;
希望我的回答对您有所帮助。