JAVA日期时间如何比较

    Timestamp crsd = verifyItem.getRequestshipdate();
                Calendar cal = Calendar.getInstance();
                Calendar now = Calendar.getInstance();
                Calendar calCrsd = Calendar.getInstance();
                calCrsd.setTimeInMillis(crsd.getTime());
                cal.set(calCrsd.get(Calendar.YEAR),
                        calCrsd.get(Calendar.MONTH),
                        calCrsd.get(Calendar.DATE), 0, 0, 0);
                cal.add(Calendar.DATE, -leadtime);// 如果允许提前3天发货,而客户请求8日发货,则最早可以允许5日发货。
                now.set(now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DATE), 0, 0, 0);

                if (now.compareTo(cal) < 0) {
                    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
                    infos.add("订单[单号:" + so + ",行号:" + soline
                            + "]未排入计划!原因:要排入计划的订单只允许提前" + leadtime
                            + "天发货[客户请求发货日期为" + df.format(calCrsd.getTime())
                            + ",允许发货的最早日期为" + df.format(cal.getTime()) + "]!");
                    fails.add(verifyItem.getId());
                    removeIds.add(verifyItem);
                    continue;
                }

Java中可以使用`java.util.Date`类和`java.time.LocalDateTime`类来进行日期时间比较。 使用`java.util.Date`类的比较方法是通过`compareTo()`方法实现的,该方法会返回一个整数值,用于表示两个日期时间的先后顺序。如果返回值为0,则表示两个日期时间相等;如果返回值小于0,则表示当前日期时间比较日期时间之前;如果返回值大于0,则表示当前日期时间比较日期时间之后。 下面是使用`java.util.Date`类比较两个日期时间的示例代码: ```java Date date1 = new Date(); Date date2 = new Date(); int result = date1.compareTo(date2); if(result == 0) { System.out.println("日期时间相等"); } else if(result < 0) { System.out.println("date1在date2之前"); } else { System.out.println("date1在date2之后"); } ``` 使用`java.time.LocalDateTime`类的比较方法是通过`compareTo()`方法实现的,该方法与`java.util.Date`类的`compareTo()`方法类似,返回一个整数值,用于表示两个日期时间的先后顺序。 下面是使用`java.time.LocalDateTime`类比较两个日期时间的示例代码: ```java LocalDateTime dateTime1 = LocalDateTime.now(); LocalDateTime dateTime2 = LocalDateTime.of(2022, Month.JANUARY, 1, 0, 0, 0); int result = dateTime1.compareTo(dateTime2); if(result == 0) { System.out.println("日期时间相等"); } else if(result < 0) { System.out.println("dateTime1在dateTime2之前"); } else { System.out.println("dateTime1在dateTime2之后"); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值