2011-04-15 104 views
0

如果我们有2个日期 上一个日期:Wed Jun 02 17:30:00 CDT 2010 下一个日期:Sun Feb 13 22:00:00 CST 2011 需要找到差异分钟。在这两个日期之间考虑到时间差异

有没有办法让它准确得到它?

回答

2

date1.getTime() - date2.getTime()会给你以毫秒为单位的差异。然后,您可以将其除以60000以获得以分钟为单位的差异。

3

是的,你可以得到这些时间的准确区别:

  1. 解析每一个与SimpleDateFormat得到Date
  2. 获取自每个Epoch以来的毫秒数。
  3. 减去两次并除以60000分钟。

下面的代码:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy"); 
Date prevDate = sdf.parse("Wed Jun 02 17:30:00 CDT 2010"); 
Date nextDate = sdf.parse("Sun Feb 13 22:00:00 CST 2011"); 
long diffTime = nextDate.getTime() - prevDate.getTime(); 
System.out.println(diffTime/60000 + " minutes"); 
1

使用TimeUnit类皈依。

// specify the input format 
    SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy"); 
    String s1 = "Wed Jun 02 17:30:00 CDT 2010"; 
    String s2 = "Sun Feb 13 22:00:00 CST 2011"; 
    // parse to Date object 
    Date d1 = dateFormat.parse(s1); 
    Date d2 = dateFormat.parse(s2); 
    // get time in milliseconds 
    long l1 = d1.getTime(); 
    long l2 = d2.getTime(); 
    // absolute difference 
    long diff = Math.abs(l1 - l2); 
    // convert milliseconds to minute 
    long min = TimeUnit.MILLISECONDS.toMinutes(diff); 
    System.out.println(min); 
0

随着约达时间

DurationFormatUtils.formatDuration(date2.getTime() - date1.getTime(), "m");