java - 为什么我的日期条目将日期值减 1?

标签 java mysql spring spring-boot

这是我的 Java 代码:

public class dtoAdapter{
    public FuelTab tabDtoToTabConverter(FuelTabDTO fuelTabDTO) {
        fuelTab.setPurchaseDate(stringToLocalDateConverter(fuelTabDTO.getPurchaseDate()));
       ...//some more setters
        return fuelTab;
    }

    private LocalDate stringToLocalDateConverter(String date){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM.dd.yyyy");
        return LocalDate.parse(date, formatter);
    }
}

我已经输入:

{
  "purchaseDate": "02.01.2018"
}

但是数据库中的日期是2018-01-31,所以减少了1天。我该如何解决这个问题?

最佳答案

标准日期在 SQL 中作为 DateTime 插入,导致日期自动填充零:

02-01-2018 00:00:00

您应该插入带有时间戳 12:00:00 的数据来解决您的问题
这也可能是由于数据库时区和本地应用程序时区之间的差异所致

关于java - 为什么我的日期条目将日期值减 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58137063/

相关文章:

java - RMI:在特定网络地址和端口上创建服务器

java - 如何使用 htmlunit 更新 html 中的内容?

java - 如何以整数形式从计时器中获取耗时

mysql - 在 GROUP BY 中使用 LIMIT 来获得每组 N 个结果?

java - 映射到 com.vividsolutions.jts.geom.Point 无效的字节序标志

java - 将 JSON 映射到 java POJO (jackson)

php - 使用 php into mysql 列获取序列化数据的最大值(value)

php - 在 Laravel 中同时保存数据和附加

java - 如果类不在 servlet-context 的基础包中,则为 "No message found under code"。为什么?

java - 如何有效地从数据库提供 i18n 消息