Java年度第一周的最小日子

时间:2014-11-03 15:09:08

标签: java calendar java.util.calendar

我实际上正在通过实用程序类Calender。 我发现自己很困惑,

方法

getFirstDayOfWeek() 
returns the first day of the week;
e.g., SUNDAY in the U.S., MONDAY in France.

getMinimalDaysInFirstWeek()
returns the minimal days required in the first week of the year. e.g., 
if the first week is defined as one that contains the first day of the
first month of a year, this method returns 1. If the minimal days required
must be a full week, this method returns 7.

我住在 印度(UTC + 05:30)Chennai,Kolkata,Mumbai,New Delhi 。 在此时区内未观察到夏令时。

要获得一年中的一周,我就像这样编码

Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));   // returns 45 
只有在Java处理

时才能使用

45

WeekNumber   FromDate                       ToDate
Week 01      December 30, 2013              January 5, 2014  // December 30 is Monday
Week 45      November 3, 2014(Monday)       November 9, 2014

Java需要最少的几天才能成为一整周吗?因为我可以通过setMinimalDaysInFirstWeek()来改变它。它会产生什么影响?

1 个答案:

答案 0 :(得分:2)

它与一周中一周的天数相关。除非您对一周内感兴趣,否则它可能与您无关。默认情况下,我认为它是4,因为这是正常的ISO-8601值。

我不确定是否与周一的第一天相关联"部分 - 您需要检查,但听起来确实如此。它不应该任何与你的时区有关。

但是,例如,2014年的每周开始于2013年12月30日正是因为2014年提供了5天。如果你看看其他年份,你会发现1月历年前几天的那些年份。 X是第X周的第52周或第53周。