diff --git a/influxdb_api.py b/influxdb_api.py index e9d5df0..fb11730 100644 --- a/influxdb_api.py +++ b/influxdb_api.py @@ -1840,17 +1840,23 @@ def query_all_records_by_date(query_date: str, bucket: str="realtime_simulation_ print("{} -- Failed to connect to InfluxDB.".format(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))) query_api = client.query_api() - # 将 start_date 的北京时间转换为 UTC 时间 - start_time = (datetime.strptime(query_date, "%Y-%m-%d") - timedelta(days=1)).replace(hour=16, minute=0, second=0, tzinfo=timezone.utc).isoformat() - stop_time = datetime.strptime(query_date, "%Y-%m-%d").replace(hour=15, minute=59, second=59, tzinfo=timezone.utc).isoformat() - print("start_time", start_time) - print("stop_time", stop_time) + bg_start_time, bg_end_time = time_api.parse_beijing_date_range(query_date=query_date) + utc_start_time = time_api.to_utc_time(bg_start_time) + utc_stop_time = time_api.to_utc_time(bg_end_time) + + print("bg_start_time", bg_start_time) + print("bg_end_time", bg_end_time) + print('utc_start_time', utc_start_time) + print('utc_stop_time', utc_stop_time) + + print('utc_start_time.isoformat', utc_start_time.isoformat()) + print('utc_stop_time.isoformat', utc_stop_time.isoformat()) # 构建 Flux 查询语句 flux_query = f''' from(bucket: "{bucket}") - |> range(start: {start_time}, stop: {stop_time}) + |> range(start: {utc_start_time.isoformat()}, stop: {utc_stop_time.isoformat()}) |> filter(fn: (r) => r["_measurement"] == "node" or r["_measurement"] == "link" and r["date"] == "{query_date}") |> pivot( rowKey:["_time"], @@ -2559,7 +2565,7 @@ def query_scheme_curve_by_ID_property(scheme_Type: str, scheme_Name: str, query_ # 2025/02/21 -# query_date 是模拟的时间,不是查询的时间,也不是运行模拟的时间 +# query_date 是模拟的时间,不是查询的时s def query_scheme_all_record(scheme_Type: str, scheme_Name: str, query_date: str, bucket: str="scheme_simulation_result") -> tuple: """ 查询指定方案的所有记录,包括‘node'和‘link’,分别以指定格式返回。