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命名为不同的名称,以避免任何混淆。