package io.github.pnoker.gateway.utils; import com.alibaba.fastjson.JSONObject; import org.influxdb.InfluxDB; import org.influxdb.InfluxDBFactory; import org.influxdb.dto.Point; import org.influxdb.dto.Query; import org.influxdb.dto.QueryResult; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Date; import java.util.List; import java.util.concurrent.TimeUnit; /** * @ClassName TestUtil * @Description: TODO * @Author LX * @Date 2024/9/3 * @Version V1.0 **/ public class TestUtil { private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static void main(String[] args) throws Exception{ // 获取当前时间的整时0分0秒,这里的时主要还是定时器的执行任务时间去控制 LocalDateTime now = LocalDateTime.now().withMinute(0).withSecond(0); // 使用提取的值构造新的LocalDateTime对象 LocalDateTime firstDayOfMonthWithCurrentTime = now.minusHours(3); System.out.println(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); System.out.println(firstDayOfMonthWithCurrentTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); JSONObject jsonObject = new JSONObject(); jsonObject.put("time","2024-09-03 09:54:00"); Date timeStr = dateFormat.parse(jsonObject.getString("time")); // 连接到 InfluxDB String serverURL = "http://localhost:8086"; // InfluxDB 服务器地址 String username = "admin"; // InfluxDB 用户名 String password = "yourpassword"; // InfluxDB 密码 String database = "mydb"; // 数据库名称 InfluxDB influxDB = InfluxDBFactory.connect(serverURL, username, password); try { // 创建数据库 influxDB.query(new Query("CREATE DATABASE " + database)); // 设置要使用的数据库 influxDB.setDatabase(database); // 写入数据 Point point = Point.measurement("cpu") .time(System.currentTimeMillis(), TimeUnit.MILLISECONDS) .addField("usage", 0.64) .addField("host", "server01") .build(); influxDB.write(point); // 查询数据 Query query = new Query("SELECT * FROM cpu", database); QueryResult result = influxDB.query(query); // 处理查询结果 for (QueryResult.Result res : result.getResults()) { for (QueryResult.Series series : res.getSeries()) { System.out.println("Series: " + series.getName()); System.out.println("Columns: " + series.getColumns()); for (List values : series.getValues()) { System.out.println("Values: " + values); } } } } finally { // 关闭连接 influxDB.close(); } } }