JAVA 中 java.util.Calendar.setFirstDayOfWeek(int value) 方法的作用到底是什么?

如题所述

首先我们知道每周共7天从sunday...saturday,Calendar默认情况下sunday为每周的第一天,而这个方法就是修改这个默认情况的,
你可以设置每周的任意一天为该周的第一天,比如你设置setFirstDayOfWeek(Calendar.MONDAY),就表示周一为每周的第一天;那么这样设置
有什么用意呢?其实它的设定是会影响Calendar.get(Calendar.WEEK_OF_MONTH)和Calendar.get(Calendar.WEEK_OF_YEAR))的结果,假设当前日历就表示当前时间,
那么其中WEEK_OF_MONTH 表示当前月的第几个星期,比如当前时间是8月5号,且是星期二,那么Calendar.get(Calendar.WEEK_OF_MONTH)=2,如果此
时你修改设置为setFirstDayOfWeek(Calendar.WEDNESDAY),那么Calendar.get(Calendar.WEEK_OF_MONTH)=1;如果此时你再设置了
java.util.Calendar.setMinimalDaysInFirstWeek(7)默认它的值是1,那么Calendar.get(Calendar.WEEK_OF_MONTH)=0 同样的Calendar.get(Calendar.WEEK_OF_YEAR))
的结果会根据你setFirstDayOfWeek(int value)和setMinimalDaysInFirstWeek(int value)设置的不同,而发生改变。
温馨提示:答案为网友推荐,仅供参考