2014-09-01 68 views
-3

我想获得两个日期之间的差异。其中一个日期是从字符串(dateEmployd)解析的,另一个日期是当前日期(currentDate)。这是我做得到的日期......我如何得到两天之间在java中的日期差异

public static Date getActiveService(String DtEmplydString){ 
    SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");//formater for parsed String date 
    Date dateEmployd, currentDate,periodDifference = null; 
    try{ 

     dateEmployd = ft.parse(DtEmplydString); 
     currentDate = new Date(); 
    }catch(ParseException e){ 
     JOptionPane.showMessageDialog(null, e); 
    } 
    return periodDifference; 
} 

现在,我想回periodDifference但我不知道我怎么会找到betweent两个日期(dateEmployd和的currentdate)的差异,在显示它几年或几天或两者的组合。

请大家多多帮助是必要的。在此先感谢...

+0

也许这篇文章可以帮助您[http://www.mkyong.com/java/how-to-calculate-date-time-difference-in-java](http ://www.mkyong.com/java/how-to-calculate-date-time-difference-in-java) – Victor 2014-09-01 14:18:55

+1

差异如何成为日期? – Bohemian 2014-09-01 14:19:43

+0

所以,如果你有两天的日期,你想它返回的部分'2/1/1970 00:00:00'你确定它是一个你想要的日期? – 2014-09-01 14:24:13

回答

0

看看jodatime库。他们拥有的功能,如

DateTime dateEmployd = DateTimeFormat.forPattern("yyyy-MM-dd").parse(DtEmplydString); 
Years.yearsBetween(dateEmployd, DateTime.now()) 

同为Days.daysbetween,秒,小时等

+0

谢谢你......你的回答最有帮助:) – spynoble 2014-09-01 22:46:52

0
long diff = date2.getTime() - date1.getTime(); 
+2

这并没有回答他的问题......他希望在几天或几年内的差异,或两者的结合。 – Balduz 2014-09-01 14:20:35

0

因为日期已被弃用,您可以尝试一下Java.Calendar日期的功能。 这里是CDATE比较为例

Calendar start = Calendar.getInstance(); 
    start.setTime(from (your initial Date object here)); 
    Calendar end = Calendar.getInstance(); 
    end.setTime(new Date()); 
    int actualDays = start.compareTo(end);