2014-11-03 1 views
2

나는 유틸리티 클래스 인 Calender를 실제로 사용하려고합니다. 나는 자신에 혼란 찾을 ,Java에서 올해의 첫 주에 가장 적은 일

방법

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)에 살고 첸나이, 콜카타, 뭄바이, 뉴 델리. 일광 절약 시간제는이 시간대에서 관찰되지 않습니다. 자바 7이 될 수있는 일주일로 최소한의 일

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

합니까 자바 소요를 취급하는 경우

올해의 주를 얻으려면, 내가이

Calendar calendar = Calendar.getInstance(); 
System.out.println(calendar.get(Calendar.WEEK_OF_YEAR)); // returns 45 

(45)처럼 코딩에만 가능 ? setMinimalDaysInFirstWeek()를 통해 변경할 수 있기 때문입니다. 그리고 그것은 어떤 영향을 미칠 것인가?

+0

시도해 보셨습니까? – arcy

답변

2

일주일에 일 수와 관련이 있습니다. 일주일에 관심이 없다면 아마 당신과 관련이 없을 것입니다. 기본적으로 ISO-8601 값이기 때문에 4가 될 것으로 기대합니다.

"첫 번째 요일"부분과 상호 작용하는지 여부는 확인해야하지만 확인해야합니다. 귀하의 시간대와 관련하여 이 있으면 안됩니다.

예를 들어, 2014 년 주일은 2013 년 12 월 30 일에 시작됩니다. 그 이유는 2014 년에 5 일을 제공하기 때문입니다. 다른 몇 년을 살펴보면, 1 월 달력 연도 X X-1 주 52 또는 53 주에 있습니다.

+0

그것은 실제로 4입니다. 문서는 훌륭하게 설명합니다. 예를 들어, 1998 년 1 월 1 일은 목요일입니다. getFirstDayOfWeek()가 MONDAY이고 getMinimalDaysInFirstWeek()가 4 (ISO 8601 표준 호환 설정) 인 경우 1998 년 1 주일이 1997 년 12 월 29 일에 시작되어 1998 년 1 월 4 일에 끝납니다. 지난 3 일 동안의 주년은 1998 년입니다 그러나 getFirstDayOfWeek()가 SUNDAY 일 경우 1998 년 1 월 1 일이 1998 년 1 월 4 일에 시작되어 1998 년 1 월 10 일에 끝납니다. 1998 년 첫 3 일간은 1997 년 53 주 중 일부이며 그 주년은 1997 년입니다. –

관련 문제