日历不正常

Sau*_*abh 1 java calendar date

我是一个3个月大的java学生.对于我的一个模块,我试图在星期二作为第一天的第一天(所以现在星期五应该在索引3),但它没有显示预期的结果.

我通过扫描仪输入了一天.下面是相关的代码和输出:

 Calendar c= Calendar.getInstance();
    c.setFirstDayOfWeek(Calendar.TUESDAY);

    c.setTime(date);
    int dayOfWeek=c.get(Calendar.DAY_OF_WEEK);
    System.out.println(dayOfWeek);



Output:

Enter the date(dd/mm/yyyy):
03/07/2014
6
Run Code Online (Sandbox Code Playgroud)

不知道我哪里错了.尝试了很多谷歌搜索,甚至设置minimalDAysOfFirstWeek但没有任何工作.我想要的是03/07/2014显示为索引3.如何实现?

Jon*_*eet 6

我觉得你误解了目的setFirstDayOfWeek.

这根本不会改变c.get(Calendar.DAY_OF_WEEK)工作 - 它会改变调用的结果,c.get(Calendar.WEEK_OF_MONTH)并且c.get(Calendar.WEEK_OF_YEAR)根据文档:

设置或获取WEEK_OF_MONTHWEEK_OF_YEAR字段时,日历必须将月份或年份的第一周确定为参考点.一个月或一年的第一周被定义为最早开始的七天时段,getFirstDayOfWeek()并且至少包含getMinimalDaysInFirstWeek()该月或一年的几天.

换句话说,星期日总是星期天...但是6月10日星期日是否与6月11日星期一同一周,取决于被认为是一周的第一天.