将Java.util.Date转换为com.datastax.driver.core.LocalDate错误

时间:2017-07-29 14:02:35

标签: java datastax

使用时出错:

protected LocalDate getLocalDate( Date date ) {
    if ( date != null ) {
        return LocalDate.fromMillisSinceEpoch( date.getTime());
    }
    return null;
}

如果我的java.util.Date说的是2017年9月30日,那么它将被转换并存储在Cassandra表中,截至2017年9月29日 然而 当我使用

将LocalDate转换为java.util.Date时
Date interestOnlyEndDate  = 
    new Date(row.getDate("interest_only_end_date").getMillisSinceEpoch());

从DB中检索行对象,正确创建日期 截至2017年9月29日

1 个答案:

答案 0 :(得分:1)

我正在运行Tomcat 7.0.57,Cassandra 3.10和Datastax驱动程序3.1.4 我Mac上的默认时区设置为BST,所以我尝试在我的个人资料中设置TZ = GMT,但Cassandra和Tomcat都忽略了这一点,所以我补充说:

-Duser.timezone=GMT

到catalina.sh中的JAVA_OPTS定义,它工作得很好。