在Java中编写和比较日期

时间:2011-08-11 10:01:19

标签: java android date

我用它来创建日期并将其放入数据库中:

String currentDateTimeString = DateFormat.getDateInstance().format(new Date());

我想构建一个与上述格式类似的日期,并将其与currentDateTimeString进行比较。

我有3个整数。我该怎么做(int year,int month,int day)?

更新:

Calendar cal = Calendar.getInstance();

         cal.set(Calendar.MONTH, month);
         cal.set(Calendar.YEAR, year);
         cal.set(Calendar.DAY_OF_MONTH, day);

         Date result = cal.getTime();
         String currentDateTimeString2 = DateFormat.getDateInstance().format(result);

我在这做错了什么......两个都不相同: currentDateTimeString2 == currentDateTimeString // false

2 个答案:

答案 0 :(得分:1)

Calendar cal = Calendar.getInstance();
cal.set(Calendar.DATE, date);
cal.set(Calendar.MONTH, month-1);//it starts from 0
cal.set(Calendar.YEAR, year);
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
Date result = cal.getTime();
  

我在这做错了什么......两个都不相等:currentDateTimeString2 == currentDateTimeString // false

字符串是对象,无法与==使用equals()方法

进行比较

答案 1 :(得分:1)

日期以毫秒表示。新日期返回当前日期,按日期表示年,月,日,小时,分钟,秒,毫秒。

可以通过Date.isAfter进行比较。

不要使用字符串来比较日期。不要使用==来比较对象。