当我得到当前日期时,它返回我4
作为当前星期几。但是,当我用calendar.set(mYear, mMonth, mDay);
设置日期时,我将7
作为星期几。我检查了日期是否相同,并且一切似乎都相同,但是我得到了不同的一天。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
Calendar calendario = Calendar.getInstance();
Log.w("TAG",""+"********:"+calendario.get(Calendar.DAY_OF_WEEK));
Log.w(4);
mYear = "2012";
mMonth = "10";
mDay = "10";
Calendar calendario = Calendar.getInstance();
calendario.set(mYear, mMonth, mDay);
Log.w("TAG","---------: "+calendario.get(Calendar.DAY_OF_WEEK));
Log.w(7);
有谁知道这可能正在发生?
谢谢!
最佳答案
您可能的问题是Calendar uses a zero-based index for months。因此,如果您尝试将日历设置为October,则必须使用9,而不是10。
这是愚蠢且不一致的日历吗?是!使用Joda-Time API代替日期和时间。据我所知,在JSR 310出现之前,它实际上是事实上的标准。
关于java - 设置日历时,DAY_OF_WEEK不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12820676/