情况:
查询的是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) );
}
}