2012-11-04 3 views
0

나는 날짜와 다른 방법을 사용하지 않고 자바에서 요일을 찾고 싶다. 나는 2 개의 날짜 사이에 daydifference를 찾을 수 있지만 나는 기울인다. 특정 날짜가 어떤 요일인지를 어떻게 알 수 있는지 이해하십시오.자바의 요일을 찾는 방법

+0

'캘린더'를 사용해 보셨습니까? –

+1

왜 바퀴를 재발 명하고 싶습니까? 그리고 어떤 시간대에 관심이 있습니까? 날짜와 시간은 복잡합니다. * 정말 그렇게해야 할 이유가 없다면 계산을 절대하지 않아야합니다. –

+1

컴퓨터 과학을 공부할 때해야 할 과제와 같은 소리가납니다. ... – CSharpie

답변

1

2 일 간의 날짜 차이를 찾을 수 있다면 mod 연산자 만 사용하십시오.

예를 들어 day1 = Monday을 알고 있고 어느 날이 701 일 후인지 찾으려면 Monday + 701 % 7 = Monday + 1 = Tuesday입니다.

http://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week#Purely_mathematical_methods

+0

나는 하루 차이를 알고 월요일 = 0 일이지만, 일요일이면 일요일에 -2를 공제해야하고, 언제 내가 공제해야하는지 알 수 없다. –

+0

기본 일을 선택하고 그 차이를 계산한다. 이 기준일의 특정 날짜. 그 차이는 긍정적이거나 부정적입니다. 다른 것을 고려할 필요가 없습니다. 부정적인 차이가 당신이 요구하는 것을 처리합니다. –

+0

하지만 modulo7은 하루가 일요일이면 2의 결과를 내고, 그래서 나는 그것을 공제해야합니다. 그러나 화요일이면 여전히 2를 보여줍니다. –

1

는 특정 일에 무슨 요일 파악을위한 공식이있다.

이라는 이름의 나만의 클래스를 만드는 것이 좋습니다. 날짜는입니다.

날짜는 월, 일 및 연도가 포함되며 날짜를 빼거나 추가하는 방법을 알 수 있습니다.

또한 다른 날짜와 같거나, 이전인지 또는 다른지를 확인할 수 있어야합니다.

각 달의 일 수를 나타내려면 int 배열을 사용해야합니다.

이 배열은 Date 클래스의 비공개 정적 필드가 될 수 있습니다.

그러면 date2를 나타내는 클래스의 인스턴스를 만들고 date1과 같아 질 때까지 한 번에 하나씩 빼낼 수 있습니다.

비슷한 방법을 사용하여 입력 날짜와 기본 날짜를 알려진 요일과 비교하여 요일을 결정할 수 있습니다.

강사가이 과제를 위해 의도 한 것이 확실합니다.

이 당신에게 귀중한 교훈을 가르 칠 것입니다 : 경우 문의 무리를 사용하는 대신에 캡슐을 사용하는 객체의

테이크 이점을.

0

가 선택한 접근 방식은 경향이 매우 복잡하고 오류가 보인다

+0

나는 이미 월요일이므로 20/31/2010 인 날짜를 선택했다. –

관련 문제