我想在今天之前得到一个数字的总和。我的方法是使用LocalDateTime,格式如下
yyyy-MM-dd HH:mm:ss
我从服务器上挑选的日期是这种格式的
2020-03-26 12:36:14.48947
由于日期变化不断,我的兴趣是处理这个2020-03-26,因为两者都将从格式化的今天的日期和服务器的日期开始存在
这是我使用的查询
"... AND p.regDate LIKE :todayDate..."
这是DateTimeFormertter
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime today = null;
today = LocalDateTime.now();
System.out.println("here is today " + today);
用上面的方法,我得到了一个错误。请问我能从查询中得到今天的日期吗
首先,您需要对查询使用LocalDate
而不是LocalDateTime
:
LocalDate today = LocalDate.now(); // current date "2020-03-26"
// or a custom LocalDate
LocalDate today = LocalDate.of(2020, Month.MARCH, 26);
然后,要从数据库中的datetime中获取日期部分,您可以使用:
"... AND DATE(p.regDate) = :todayDate..."
其中:DATE(p.regDate)
只提取日期部分,与=
而非LIKE
比较