比较日期Java格式问题

时间:2011-04-05 21:31:26

标签: 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

2 个答案:

答案 0 :(得分:4)

我认为你需要 MM ,而不是 mm

来自the doc

  

M月份年份
  m分钟小时

答案 1 :(得分:0)

将第1行更改为: DateFormat df = new SimpleDateFormat(“dd / MM / yyyy”);

SimpleDateFormat中的

mm是分钟。 MM是月份。所以你的意见是2011年1月10日00:10:00

查看http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html是否有缩写和javadoc。