2011-08-11 41 views
0

比较的日期我用它来创建一个日期,并把它变成一个数据库:撰写和Java中

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

我想建立一个日期格式类似于上面的一个,并将其与currentDateTimeString比较。

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

UPDATE:

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

我在这里做wrong..both的arent相等的东西: currentDateTimeString2 == currentDateTimeString //假

回答

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

我在这里做什么wrong..both的arent等于:currentDateTimeString2 == currentDateTimeString // false

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

+0

看到上面的更新 –

+0

看到上面的更新 –

+0

我想指出的是,当我得到currentDateTimeString2比较我在数据库中..它说,没有这样的日期......即。 currentDateTimeString2.equals(currentDateTimeString)... false –

1

日期以毫秒为单位表示。 new Date返回当前日期,按日期表示年,月,日,小时,分钟,秒,毫秒。

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

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