java计算两个日期相差的天数

    /**
     * 计算两个日期相差的天数
     * @param oldDate
     * @param newDate
     * @return
     * @author WangLiping
     */
    public static int comparePastDate(String oldDate,String nowDate){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar calendar = Calendar.getInstance();
        Date old;
        int day=0;
        try {
            old = sdf.parse(oldDate);
            calendar.setTime(old);
            Long oTime = calendar.getTimeInMillis();

            Date now = sdf.parse(nowDate);
            calendar.setTime(now);
            Long nTime = calendar.getTimeInMillis();

            day=(int) ((nTime - oTime)/(3600F * 1000 * 24));
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return day;
    }
Java中,计算两个日期相差天数,可以通过使用`java.util.Date`和`java.util.Calendar`类来实现。以下是一个使用`Calendar`类计算两个日期相差天数的方法: 首先,我们需要获取两个日期对象,然后将这两个日期对象分别转换为`Calendar`实例。接着,我们可以清除时分秒等时间部分,只保留日期部分。之后,我们可以使用`Calendar`的`getTimeInMillis()`方法获取这两个日期的毫秒值,通过相减得到它们之间相差的毫秒数,最后将毫秒数转换为天数。 以下是一个计算两个日期相差天数的示例代码: ```java import java.util.Calendar; import java.util.Date; public class DateDifference { public static void main(String[] args) { // 假设有两个日期 Date startDate = new Date(); // 例如使用当前日期时间 Date endDate = new Date(); // 使用另一个日期,比如未来的一天 // 计算两个日期相差天数 long differenceInDays = calculateDaysBetween(startDate, endDate); // 输出结果 System.out.println("相差天数为:" + differenceInDays); } private static long calculateDaysBetween(Date startDate, Date endDate) { Calendar startCalendar = Calendar.getInstance(); Calendar endCalendar = Calendar.getInstance(); startCalendar.setTime(startDate); endCalendar.setTime(endDate); // 清除时分秒 startCalendar.set(Calendar.HOUR_OF_DAY, 0); startCalendar.set(Calendar.MINUTE, 0); startCalendar.set(Calendar.SECOND, 0); startCalendar.set(Calendar.MILLISECOND, 0); endCalendar.set(Calendar.HOUR_OF_DAY, 0);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值