首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在java spring引导中通过localDateTime过滤对象?

如何在java spring引导中通过localDateTime过滤对象?
EN

Stack Overflow用户
提问于 2019-01-17 10:15:35
回答 2查看 1.9K关注 0票数 3

我有对象,这就是它的描述吗?

代码语言:javascript
代码运行次数:0
运行
复制
public MemberSkills(User user, BasicSkills skills, Short level, Short status, LocalDateTime confirmDate, String comment) {
    this.user = user;
    this.skills = skills;
    this.level = level;
    this.status = status;
    this.confirmDate = confirmDate;
    this.comment = comment;
}

我想把MemberSkill从"confirmDate“过滤到"confirmDate”。我正在使用Java-8 &。我试过了,但没成功。

代码语言:javascript
代码运行次数:0
运行
复制
LocalDateTime fromdate = LocalDateTime.parse(memberSkillRequest.getFromDate(), formatter);
LocalDateTime toDate = LocalDateTime.parse(memberSkillRequest.getToDate(), formatter);

List<MemberSkills> filterMemberSkill = memberSkills.stream().filter(memberSkill -> memberSkill.getConfirmDate().isBefore(fromdate)).collect(Collectors.toList());
List<MemberSkills> listMemberSkill = filterMemberSkill.stream().filter(memberSkill -> memberSkill.getConfirmDate().isAfter(toDate)).collect(Collectors.toList());

从日期到现在从客户那里得到发送。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-17 10:24:56

可能是因为您正在对第一个筛选列表运行第二个筛选,该列表已经排除了第二个筛选器中的任何内容。你应该能做这样的事-

代码语言:javascript
代码运行次数:0
运行
复制
List<MemberSkills> filterMemberSkill = memberSkills.stream()
                 .filter(memberSkill -> memberSkill.getConfirmDate().isBefore(toDate) 
                                   && memberSkill.getConfirmDate().isAfter(fromDate))
                 .collect(Collectors.toList());
票数 3
EN

Stack Overflow用户

发布于 2019-01-17 10:45:13

我猜你是这么想的:

代码语言:javascript
代码运行次数:0
运行
复制
    List<MemberSkills> listMemberSkill = memberSkills.stream()
            .filter(memberSkill -> ! memberSkill.getConfirmDate().isBefore(fromdate))
            .filter(memberSkill -> memberSkill.getConfirmDate().isBefore(toDate))
            .collect(Collectors.toList());

这为您提供了在从日期到日期之间的半开间隔内的确认日期的MemberSkills对象。也就是说,日期必须是从日期开始或之后,严格地在日期之前。这是定义时间间隔的常用方法。在代码中,我使用“未在前面”来表示“on”或“on”。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54233620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档