【问题标题】:Query entity elements by createdAt on specific date range does not work在特定日期范围内通过 createdAt 查询实体元素不起作用
【发布时间】:2019-10-25 06:37:34
【问题描述】:

我的实体已createAt 字段在创建实体时由@CreatedDate 填充。此属性为Date 类型。

class MyEntity {
    @CreatedDate
    private Date createdAt;
}

我想过滤掉 List 中从 startDate 到 endDate 范围内的所有实体。问题是,当我使用findAllByCreatedAtBetween(Date startDate, Date endDate); 时,它起作用了,但并非适用于所有情况。创建实体时,即:2019-10-25 14:15:23 我也想在用户键入 @RequestParam startDate 从 2019-10-24 00:00 endDate 到 2019-10-25 时获取它14:15 又拿这个实体。我怎么能忽略分钟后面的一切?有没有办法,因为当我将这些值作为 startDate 和 endDate 传递时,找不到实体,要找到它,我必须将 14:15 更改为 14:16。

【问题讨论】:

    标签: spring spring-boot


    【解决方案1】:

    您可以在 LocalDateTime 中设置任何参数而无需其他参数。例如,您想要处理没有分钟。您可以像这样设置搜索日期参数:

    LocalDateTime localDateTime= myDate.atTime(14,15);//The first parameter is for Hour and other one is for minute.
    

    您可以在此处找到更多详细信息:Java Time LocalDateTime At Time Functions

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-03
      • 2019-11-24
      相关资源
      最近更新 更多