在涌入中,我将时间换成gps模块给出的时间。它在Unix纪元时间保存日期,如1432600783000。
当我尝试在Influxdb中执行这样的查询时:
select * from items where id = '11111111111' and time > 1432080000000s and time < 1432177199000s group by (1d)
日期1432080000000: 格林尼治标准时间:2015年5月20日星期三00:00:00 GMT 您所在的时区:19/5/2015 21:00:00 GMT-3:00
日期1432177199000: 格林尼治标准时间:2015年5月21日星期四02:59:59 GMT 您的时区:20/5/2015 23:59:59 GMT-3:00
它不会返回任何内容,过滤日期的正确方法是什么,例如在两个日期之间带点。
感谢。
答案 0 :(得分:1)
您指定秒作为查询中的精度,但提供毫秒时间戳。 1432080000000s
表示1432080000000秒,即47350年10月22日。
$ date -r 1432080000000
Thu Oct 22 16:00:00 PST 47350
此外,如果没有SELECT语句中的聚合函数,则无法执行GROUP BY
。要求每天对所有点进行总结是没有意义的,然后无法将结果汇总到每日值中。删除GROUP BY子句以返回时间范围内的所有点。 (你的GROUP BY语法也是错误的。正确的语法是GROUP BY time(1d)
。)
您的查询应为:select * from items where id = '11111111111' and time > 1432080000s and time < 1432177199s
答案 1 :(得分:0)
我必须更改才能将数据发送到查询到UTC时间,如下所示:
select * from items where id = '11111111111' and time > '2015-05-20 03:00:00' and time < '2015-05-20 03:00:00' + 1d group by time(1d)
要做到这一点,我使用了像这样的时刻js:
moment.utc(date).format('YYYY-MM-DD hh:mm:ss')
然后日期以2015-05-20 03:00:00的格式发送,反映我所在的时区。