为什么我的日期输入项将日期值减少1?

时间:2019-09-27 15:01:11

标签: 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天。我该如何解决?

1 个答案:

答案 0 :(得分:0)

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

  

02-01-2018 00:00:00

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