如何使用spring data mongodb插入当前系统日期?

时间:2017-04-10 11:17:39

标签: spring spring-boot spring-data spring-data-mongodb

我试试这个

public void setDate(Timestamp date) {
    Calendar calendar = Calendar.getInstance();
    Date now = calendar.getTime();
    Timestamp currentTimestamp = new Timestamp(now.getTime());
    this.date = currentTimestamp;
}

当我尝试从邮递员请求包含日期的objet列表时我得到此错误没有找到能够从类型[java.util.Date]转换为类型[java.sql.Timestamp]的转换器

2 个答案:

答案 0 :(得分:1)

MongoDb以UTC格式保存日期。

您应该在Java 8上使用java.time.Instant与spring mongodb提供程序

您可以使用Instant instant = timestamp.toInstant();转换为即时消息并将其传递给java 8上的spring mongodb提供程序。

您应该在Java 7上使用java.util.Date与spring提供程序。

Calendar calendar = Calendar.getInstance();
Date now = calendar.getTime();

答案 1 :(得分:0)

使用以下代码在MongoDB中插入日期:

new Date(actiondate.getTime() - (actiondate.getTimezoneOffset() * 60000))