2010-06-21 3 views
1

내가 지정한 값과 같은 요일 값을 가진 다음 날짜를 결정하고 싶습니다.C++을 사용하여 선택한 요일을 다음 요일로 설정하는 방법은 무엇입니까?

예를 들어, 오늘은 6/21/2010이며 요일 값은 1 b/c 오늘은 월요일입니다. 요일 값 3을 사용하여 다음 날짜를 찾는 방법은 무엇입니까?

월 및 연도를 포함하여 무언가가 끝나는 모든 사례를 고려하고 싶습니다.

쉬운 방법이 있습니까? 아니면 월말에 가까운 지 수동으로 확인하고 그에 따라 조정해야합니까? 그렇게하는 것보다 쉽고 우수한 해결책이 있다고 생각합니다.

+0

.Net, STL 또는 Boost를 사용하고 있습니까? – Caladain

+0

이것은 단지 MFC 응용 프로그램이나 STL이 아닙니다. –

답변

1

struct tm에 값을 채우고 mktime을 호출하여 값을 정규화 할 수 있습니다. 입력시 주중의 요일을 무시하고 다른 값을 정규화합니다. 예를 들어 2 월 31 일 st의 입력을 피드에 입력하면 3 월 3 일에 rd (또는 3 월 2 일 nd 윤년)으로 변환됩니다.

정상적인 순서는 time을 호출하여 현재 시간을 time_t로 가져 오는 것입니다. 그런 다음 localtime으로 전화하여 struct tm으로 변환하십시오. 필요에 따라 struct tm의 시간을 조정하십시오 (예 : 오늘은 화요일이라고 말하고 금요일을 원하면 그 달의 날짜에 3을 더함). 그런 다음 예를 들어 한 주/월/년에서 다음 월로 넘칠 경우에 대비하여 mktime으로 전화하여 값을 표준화하십시오.

관련 문제