문제

주중 (1-7)이 주어지면 그 주간의 마지막 날짜가 무엇인지 어떻게 계산할 수 있습니까?

예시: 오늘은 수요일, 2008/11/12 금요일 날짜는.

도움이 되었습니까?

해결책

만약에 today 현재 요일은 다음과 같은 것을 사용할 수 있습니다.

days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7

이것은 금요일이 금주의 6 일로 표시된다고 가정합니다 (즉, 1은 일요일을 나타냅니다). 그런 다음 빼십시오 days_since_friday 현재 날짜부터 지난주 말의 날짜를 얻을 수 있습니다.

위의 표현은 필요한 것보다 약간 더 복잡합니다. 주일의 주간이 일요일에 0에서 시작되면 다음과 같이 단순화됩니다.

days_since_friday = ((today + 7) - 5) % 7

또는

days_since_friday = (today + 2) % 7

다른 팁

일반적으로? 보다 캘린드 계산.

이 좁은 사건에서 지난 주에? 일의 차이 (금요일 = 5, 수요일 = 3)를 찾으십시오. 몇 주에 차이를 찾으십시오 (마지막 주 = -7 일). 며칠+주에 오프셋을 찾으면 해당 오프셋을 캘린더 날짜에 적용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top