2011-04-05 76 views
1

试图比较java中的某些日期,但无法获得格式化权限,我在哪里出错?比较日期Java格式问题

DateFormat df = new SimpleDateFormat("dd/mm/yyyy"); 
    Date date1 = null, date2 = null, today = new Date(); 
date1 = (Date) df.parse(scan.next()); 

System.out.println(date1); 
      System.out.println(today); 
if(date1.compareTo(today) < 0){ 
     date1 = null; 
     System.out.println(start + " is not a valid date.. please try again!"); 
     } 

Please enter a start date: 
10/04/2011 
Mon Jan 10 00:04:00 GMT 2011 
Tue Apr 05 22:27:44 BST 2011 
+0

只是一个建议,但看看JodaTime。我知道这并不能回答你的问题,但JodaTime提供了很多漂亮的功能来处理日期。 – CtrlDot 2011-04-05 21:39:39

+0

虽然JodaTime不错,但是对于'compareTo(...)'来说不是有点矫枉过正? – 2011-04-05 21:42:01

回答

4

我想你需要MM,不毫米

the doc

m月份的一年时间

+0

没错。我刚刚尝试了他的代码与MM,并工作... – JuanZe 2011-04-05 21:38:10

+0

Thankyou!作品完美 – user195257 2011-04-05 21:40:56