有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用于日期范围检查的java标准生成器

我试图检查“toDate”是否在范围内,因为我尝试了两种方法,但都不适用于我

方法1:

if (MyEntity.getFromDate() != null
                        && MyEntity.getToDate() != null)) {
                    predicate.getExpressions()
                            .add(criteriaBuilder.between((root.<Date>get("toDate")), MyEntity.getFromDate(),MyEntity.getToDate()));

方法2

if(MyEntity.getFromDate() != null
    && MyEntity.getToDate() != null) {
    DateFormat dateFormat = new SimpleDateFormat(Constants.DBDATEFORMAT);
     String fromDateInString = dateFormat.format(MyEntity.getFromDate());
    String toDateInString = dateFormat.format(MyEntity.getToDate());
    String[] fromDateSplitation = fromDateInString.split(" ");
    String[] toDateSplitation = toDateInString.split(" ");
    StringBuilder startLimit = new StringBuilder();
    StringBuilder endLimit = new StringBuilder();
    startLimit.append(fromDateSplitation[0]).append(" ").append("00:00:00");
    endLimit.append(toDateSplitation[0]).append(" ").append("23:59:59");
    Date fromDate;
    try {
    fromDate = dateFormat.parse(startLimit.toString());
    Date toDate = dateFormat.parse(endLimit.toString());
    MyEntity.setFromDate(fromDate);
    MyEntity.setToDate(toDate);
    predicate.getExpressions().add(criteriaBuilder.between(root.get("toDate"),
    MyEntity.getFromDate(), MyEntity.getToDate()));
    } catch (ParseException e) {
    e.printStackTrace();
    }

有谁能告诉我如何正确使用标准生成器的日期介于和等于之间


共 (0) 个答案