質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
InfluxDB

InfluxDBは、InfluxDataによって開発された時系列データベースです。オープンソースであり、Go言語で記述されています。

SQL Anywhere

SQL Anywhereは、パッケージソフト組込みやハードウェア組込みなどのパッケージの名称。RDBMSやデータベースの同期ミドルウェアもパッケージになっています。また、メインのRDBMSサーバーを指すこともあります。

Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1742閲覧

データベースの時刻取得

raspypy

総合スコア247

InfluxDB

InfluxDBは、InfluxDataによって開発された時系列データベースです。オープンソースであり、Go言語で記述されています。

SQL Anywhere

SQL Anywhereは、パッケージソフト組込みやハードウェア組込みなどのパッケージの名称。RDBMSやデータベースの同期ミドルウェアもパッケージになっています。また、メインのRDBMSサーバーを指すこともあります。

Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/04/14 03:59

編集2022/04/15 06:26

やろうとしていること

データベースから時刻を取得して、現在の時刻と比較するプログラムを作成しています。
使用しているデータベースは、SQLです。

データベースの中身

time A B C D


1649896576535031000 0 48.23 986.8 24.95
1649896581878689000 0 48.14 986.77 25
1649897723542675000 4.43 31.48 986.94 33.5
1649902713874251000 0 28.4 986.74 33.72

##プログラム

python

1 client = InfluxDBClient('192.168.xxx.xx', bbbb, 'test', 'user', 'data') 2 query = "SELECT * FROM data" 3 result = client.query(query, database="data") 4 print (result)

困っていること

データベース末尾の時刻を見ると、
1649902713874251000
これを日付変換すると、
2022年04月14日11:18:33となりますが、

プログラムを実行した結果は、
2022-04-14T02:18:33.874251Z となってしまいます。

なぜ、このように時間がズレてしまうのかが分からず困っております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

InfluxDBは、UTCタイム表示ですので、
precision rfc3339を指定しない限りは、tzで指定しても、指定地域での時刻を表示できませんでした。

投稿2022/04/15 03:37

raspypy

総合スコア247

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

なぜ、このように時間がズレてしまうのかが分からず困っております。

InfluxDBは時間をUTCで保存する為です。

出力結果のタイムゾーンを指定したい場合はtz()でタイムゾーンを指定してあげる必要があります。

参考:
https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/#the-time-zone-clause

投稿2022/04/14 04:28

madoka-t

総合スコア379

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raspypy

2022/04/14 06:41

回答ありがとうございます。 queryを次のように書き換えましたが、 query = "SELECT * FROM sensor WHERE time <= now() tz('Asia/Tokyo')" 結果は、同じ(2022-04-14T02:18:33.874251Z)でした。 queryの記述が悪いのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問