DB Date是11-18-2011 03:40:56,当前日期格式相同。 怎么比较?我已经实现了以下内容,但它没有给出正确的结果。 以下是我的代码。
Calendar calendar = Calendar.getInstance();
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat formatter= new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
String dateNow = formatter.format(currentDate.getTime());
if(datenow.toString.equals(date2)){
}
答案 0 :(得分:1)
您不应该比较日期的字符串表示形式,而是使用实际对象。
如果date2
是java.sql.Date
或java.util.Date
,您可以使用new Date().equals(date2)
按原样进行比较。
请注意,日期以毫秒精度存储,因此您可能希望在比较之前删除不需要的字段,或者使用Apache Commons“DateUtils
,例如DateUtils.isSameDay(date2, new Date());
答案 1 :(得分:0)
我非常同意托马斯的做法;将日期从字符串表示转换为日期特定类型,例如java.util.Date
,然后您可以将其用于所需的任何比较。我想我可以用一个更具体的例子详细说明:
DateFormat formatter = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
// convert to a Date
String dateString = "11-18-2011 03:40:56";
Date date = formatter.parse(dateString);
// comparisons as required
int comparison = date.compareTo(new Date());
boolean isNow = date.equals(new Date());
如果您的计划经常依赖于进行此类转换和比较,我建议您查看Joda-Time。