情况:
查询的是2016年1月2日的数据,但返回解析出来的数据确实是2号的,可是时间竟然变成了2016年1月1日。
解决:
是时区问题,修改本地时区
具体代码,主要是看加红加粗的:
public static void QueryTest() throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException { System.setProperty("user.timezone","GMT +08"); Driver driver = (Driver) Class.forName("org.apache.kylin.jdbc.Driver") .newInstance(); Properties info = new Properties(); info.put("user", "ADMIN"); info.put("password", "KYLIN"); info.put("useLegacyDatetimeCode", "false"); Connection conn = driver.connect( "jdbc:kylin://192.168.22.102:7070/DataPlat", info); Statement state = conn.createStatement(); ResultSet resultSet = state .executeQuery("select cppadate,count(1) from KPI_BASE_DATACPPAFOLLOWCRCCOUNT where cppadate>=‘2016-01-12‘ and cppadate<=‘2016-01-12‘ group by cppadate"); while (resultSet.next()) { System.out.println(resultSet.getDate(1) + "__" + resultSet.getInt(2) ); } }
时间: 2024-10-10 20:20:19