java - 设置日历时,DAY_OF_WEEK不正确

标签 java calendar dayofweek

当我得到当前日期时,它返回我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/

相关文章:

java - 从 war/ear 外部访问多个应用程序服务器的属性文件

java - 相对于 JVM 的字符串池,在 Java 中创建一个字符串的时间成本是多少?

vb6 - 更改 DTPicker 上的一周开始日

java - Vaadin 嵌入SWF

java - 自定义ListView不显示任何数据?

javascript - 添加 onClick 事件到 zabuto 日历

jquery - 拖放在 fullCalendar 中不起作用

java - 为什么不支持在java.time.Instant中增加几周?

Java SWT 日期时间 : Determine day of Week