2012-10-15 78 views

回答

19
SimpleDateFormat dfDate = new SimpleDateFormat("dd/MM/yyyy"); 
    java.util.Date d = null; 
    java.util.Date d1 = null; 
    Calendar cal = Calendar.getInstance(); 
    try { 
      d = dfDate.parse("01/02/2012 "); 
      d1 = dfDate.parse(dfDate.format(cal.getTime()));//Returns 15/10/2012 
     } catch (java.text.ParseException e) { 
      e.printStackTrace(); 
     } 

    int diffInDays = (int) ((d.getTime() - d1.getTime())/ (1000 * 60 * 60 * 24)); 
    System.out.println(diffInDays); 

检查Ex1Ex2的更详细的例子

+0

01/02/2013日期是固定日期,但我不想用手在我的代码中修复当前日期。我希望当我运行应用程序时,它会从系统中获取当前日期,并计算它的差异。我如何从系统获取当前日期并修复代码? –

+0

我改变了代码,再次检查 –

+0

thanx如此之多。我希望它运行 –

1

你可以看看到DateUtils,它提供了一些实用的方法来计算运行时间两个日期之间,但仅限于表示。由于不考虑闰年,闰秒,夏季/冬季时间变化等,因此不要使用直接方法在日/毫秒之间进行转换。这些考虑事项由Calendar类处理。

更新 您可以使用Joda库执行相对日期和时间计算像一个你需要的。

相关问题