我如何在java中获得两个日期之间的差异

时间:2014-09-01 14:15:41

标签: java date

我想要了解两个日期之间的差异。其中一个日期是从字符串(dateEmployd)解析而另一个日期是当前日期(currentDate)。这就是我为获取日期所做的工作......

 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,但我不知道如何找到两个日期(dateEmployd和currentDate)之间的差异,并以数年或数天或两者的组合显示它。

请大家帮忙。提前谢谢......

3 个答案:

答案 0 :(得分:0)

long diff = date2.getTime() - date1.getTime();

答案 1 :(得分:0)

查看jodatime库。他们有像

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

Days.days Between,Seconds,Hours等相同。

答案 2 :(得分:0)

您可以尝试使用Java.Calendar作为日期函数,因为不推荐使用Date。 以下是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);