Android 日期格式置乱

Android 日期格式置乱,android,android-calendar,Android,Android Calendar,我试图将字符串格式化为日期,并比较它们。 以下是我要格式化的代码: public static SimpleDateFormat dateFormat = new SimpleDateFormat("MMM d EEEE"); public static String dateFormat(Date date) { return dateFormat.format(date); } 以下是我使用上述代码的代码: Date a = null; Date b = null; try {

我试图将字符串格式化为日期,并比较它们。 以下是我要格式化的代码:

public static SimpleDateFormat dateFormat = new SimpleDateFormat("MMM d EEEE");

public static String dateFormat(Date date) {
    return dateFormat.format(date);
}
以下是我使用上述代码的代码:

Date a = null;
Date b = null;
try {
    a = dateFormat.parse(dates.get(0));
    b = dateFormat.parse(dates.get(1));
} catch (ParseException e) {
    e.printStackTrace();
}

Log.i("X",dates.get(0));
Log.i("Y",dates.get(1));
if(a.after(b)){
    Log.i("AAAA", "AFTER");
    Log.i("AAAA", dateFormat.format(b));
}else if(a.before(b)){
    Log.i("BBBB", "BEFORE");
    Log.i("BBBB", dateFormat.format(a));
}
下面是日志:

09-29 20:47:39.504: I/X(9526): Oct 1 Wednesday
09-29 20:47:39.504: I/Y(9526): Oct 2 Thursday
09-29 20:47:39.504: I/BBBB(9526): BEFORE
09-29 20:47:39.504: I/BBBB(9526): Oct 1 Thursday
超级怪异的输出。有人能给我解释一下为什么会发生这种情况吗?
提前感谢。

为什么您认为输出非常奇怪?在我看来,这完全合乎逻辑。a是10月1日星期三,b是10月2日星期四。a显然在b之前。输出完全匹配代码所做的工作。@jms我没有设置任何年份,是吗?@Jesper是的,a明显在b之前,但您看到了logcat末尾a的值吗?我不知道它是否与行为有关,但我认为您应该将变量dateFormat和函数dateFormat命名为不同的名称,以避免任何混淆。