javaは2日間の時間差を取得します

開始時刻と終了時刻を比較することにより、開始時刻を現在時刻より大きくすることはできず、終了時刻を現在時刻より遅くすることはできません。
現在のシステム時刻が開始時刻より前の場合は、直接0日に戻ります。終了時刻が現在のシステム時刻より後の場合は、システム時刻が終了時刻として使用されます。

public static int dateDay(String startTime,String endTime){
    
    
        //设置转换的日期格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        long betweenDate;
        try {
    
    
            //开始时间
            Date startDate = sdf.parse(startTime);
            //结束时间
            Date endDate = sdf.parse(endTime);
            Date newDate = new Date();
            if (startDate.after(newDate)) {
    
    
                //开始时间比当前时间还大,则返回0天
                return 0;
            }
            if (endDate.before(newDate)){
    
    
                //结束时间在系统时间前获得结束开始时间到结束时间相差的天数 betweenDate
                betweenDate = (endDate.getTime() - startDate.getTime())/(60*60*24*1000);
            }else {
    
    
                //结束时间在系统时间后获得结束开始时间到结束时间相差的天数 betweenDate
                betweenDate = (newDate.getTime() - startDate.getTime())/(60*60*24*1000);
            }
            //打印控制台相差的天数
            //System.out.println(betweenDate);
            return (int) betweenDate ;
        } catch (ParseException e) {
    
    
            return 0;
        }
    }


おすすめ

転載: blog.csdn.net/zhongzih/article/details/105292527