0x00 簡介
InfluxDB默認以UTC時間存儲並返回時間戳,當接收到一個時序數據記錄時,InfluxDB將時間戳從本地時區時間轉換爲UTC時間並存儲,查詢時,InfluxDB返回的時間戳對應的是UTC時間。InfluxDB支持經過在tz()子句中指定TZ格式的時區名字,如Asia/Shanghai,將UTC時間轉換爲中國本地時間,基本語法以下。數據庫
SELECT_clause ... tz('<time_zone>')
注意,該time_zone參數遵循Internet分配號碼受權機構時區數據庫中的TZ語法(https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List),而且須要單引號引用。
0x01 示例
經過tz()子句將時序數據的時間戳從UTC時間轉換爲Asia/Shanghai時區的本地時間。微信
> create database monito > use monito Using database monito > > insert cpu_usage,host=server01 value=0.67 1572797280000000000 > > select * from cpu_usage name: cpu_usage time host value ---- ---- ----- 2019-11-03T16:08:00Z server01 0.67 > > select * from cpu_usage tz('Asia/Shanghai') name: cpu_usage time host value ---- ---- ----- 2019-11-04T00:08:00+08:00 server01 0.67 > >
在示例中,建立數據庫monitor,並在數據庫monitor中插入一條時間戳爲亞洲上海時間2019-11-04T00:08:00Z的時序數據記錄,而後使用select命令查詢,發現顯示的時間戳爲UTC時間2019-11-03T16:08:00Z,加上tz('Asia/Shanghai')子句再查詢,顯示的時間戳爲亞洲上海時間2019-11-04T00:08:00+08:00。
後記
歡迎交流討論:
微信公衆號:influxdb-dev
InfluxDB技術交流羣(QQ):663274123spa