获得2次之间的差异

时间:2015-06-24 20:33:39

标签: java android date date-difference

我正在尝试获取2个日期之间的差异时间.. 我有一个arraylist,每个对象包含类型Date ..

的数据

我的问题是: 1)使用Calendar.getInstance()。get(Calendar.MINUTE)...等获取当前日期的最佳方式&时间 2)我应该手动填写Date变量中的数据,如下所示:

Date currentDate = new Date();
currentDate.setMinutes(Calendar.getInstance().get(Calendar.MINUTE));
currentDate.setHours(Calendar.getInstance().get(Calendar.HOUR));
currentDate.setDate(Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
currentDate.setMonth(Calendar.getInstance().get(Calendar.MONTH));
currentDate.setYear(Calendar.getInstance().get(Calendar.YEAR));

3)如何获得currentDate和我拥有的旧日期之间的差异 就像currentDate - oldDate和“AM_PM”问题一样,我应该手动执行此功能吗?

3 个答案:

答案 0 :(得分:0)

1)正在使用Calendar.getInstance()。get(Calendar.MINUTE)...等获取当前日期的最佳方式

来自java.util.Date的JavaDoc空构造函数:

  

分配一个Date对象并对其进行初始化,使其代表   它被分配的时间,测量到最接近的毫秒。

3)如何获得currentDate与我所拥有的旧日期之间的差异就像currentDate - oldDate以及" AM_PM"问题,我应该手动执行此功能吗?

$(this).css('backgroundColor');

答案 1 :(得分:0)

1)获取当前日期:

Date = new Date();

2)要手动设置日期,最好使用日历。

Calendar c = new GregorianCalendar();
c.set(Calendar.MONTH, 1);
c.set(Calendar.YEAR, 2015);
// ... and so on
Date date = c.getTime();

3)计算两个日期之间的毫秒距离。

Date d1 = ....;
Date d2 = ....;
long distance = d1.getTime() - d2.getTime();

答案 2 :(得分:0)

试试这个,下面的变量now是当前日期。

String givenDate = "03/11/2015";

          SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
          try {
                 Date date = (Date)dateFormat.parseObject(givenDate);
                 Date now = new Date();
                 System.out.println(date);
                 System.out.println(now);
                 int diffInDays = (int)( (now.getTime() - date.getTime()) 
                    / (1000 * 60 * 60 * 24) );

                 System.out.println(diffInDays);

          } catch (ParseException e) {
                 // TODO Auto-generated catch block
                 e.printStackTrace();
          }

您可以选择任何格式并添加时间或上午/下午,查看SimpleDateFormat的更多详情。如果您没有字符串日期,则可以直接使用上面显示的date变量。

干杯!!