java中计算时间差

Calendar cale = null;  
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
        Date d = new Date();  
      //获取当前时间
        String startDate =format.format(d); 
         
       // 获取前月的第一天  

         cale = Calendar.getInstance();  

         cale.add(Calendar.MONTH, 0);  

         cale.set(Calendar.DAY_OF_MONTH, 1);  

         firstday = format.format(cale.getTime()); 

// 获取前月的最后一天  
        cale = Calendar.getInstance();  
        cale.add(Calendar.MONTH, 1);  
        cale.set(Calendar.DAY_OF_MONTH, 0);  
        cale.set(Calendar.HOUR_OF_DAY,23);
        cale.set(Calendar.MINUTE,59);
        cale.set(Calendar.SECOND,59);
        String endDate = format.format(cale.getTime()); 

  获取当前时间的前一天或者前几天时间

    Date date=new Date();  

    Calendar calendar = Calendar.getInstance();  

     calendar.setTime(date);  

     calendar.add(Calendar.DAY_OF_MONTH, -1);  

     date = calendar.getTime();  

 计算时间差

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");



try

{

    Date d1 = df.parse("2008-03-26 13:31:40");

    Date d2 = df.parse("2008-01-02 11:30:24");

    long diff = d1.getTime() - d2.getTime();

    long days = diff / (1000 * 60 * 60 * 24);

}

catch (Exception e)

{

}
原文地址:https://www.cnblogs.com/taiguyiba/p/6778014.html