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

将Java.util.Date转换为com.datastax.driver.core.LocalDate错误,java,datastax,Java,Datastax,我在使用时出错: protected LocalDate getLocalDate( Date date ) { if ( date != null ) { return LocalDate.fromMillisSinceEpoch( date.getTime()); } return null; } 如果我的java.util.Date是2017年9月30日,则会将其转换为2017年9月29日并存储在Cassandra表中 然而 使用将LocalDat

我在使用时出错:

protected LocalDate getLocalDate( Date date ) {
    if ( date != null ) {
        return LocalDate.fromMillisSinceEpoch( date.getTime());
    }
    return null;
}
如果我的java.util.Date是2017年9月30日,则会将其转换为2017年9月29日并存储在Cassandra表中 然而 使用将LocalDate转换为java.util.Date时

Date interestOnlyEndDate  = 
    new Date(row.getDate("interest_only_end_date").getMillisSinceEpoch());
从数据库检索行对象时,正确创建日期
截至2017年9月29日,我正在运行Tomcat 7.0.57、Cassandra 3.10和Datastax driver 3.1.4 我Mac电脑上的默认时区设置为BST,因此我尝试在我的个人资料中设置TZ=GMT,但Cassandra和Tomcat都忽略了这一点,因此我添加了:

-Duser.timezone=GMT

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

在存储到DB之前,机器的时区是转换为毫秒的,还是转换回最新的时区?谢谢,我不知道如何检查,但我会看一看。所有代码目前都在一台机器上运行,用于开发目的。我的Mac上的时区设置为BST,因此我在用户配置文件中设置:TZ=BST,然后重新启动Cassandra和Tomcat,但仍然会遇到相同的问题