2014-09-01 5 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

+1

Как разница может быть датой? – Bohemian

+0

Итак, если у вас есть два дата в один прекрасный день, вы хотите вернуть его '2/1/1970 00: 00: 00' Вы уверены, что это дата, которую вы хотите? –

ответ

0

Посмотрите на библиотеку jodatime. Они имеют такие функции, как

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

То же самое для Days.daysbetween, секунды, часы и т.д.

+0

Спасибо брату ... ваш ответ был наиболее полезен :) – spynoble

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

Это не отвечает на его вопрос ... Он хочет разницу в днях или годах или их комбинацию. – Balduz

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);