일, 월, 년을 지정하면 요일을 반환하는 알고리즘은 무엇입니까?날짜 대 요일 알고리즘?
답변
std::mktime
및 std::localtime
기능을 사용하여 수행 할 수 있습니다. 이 함수는 POSIX뿐만 아니라 C++ 표준 (C++ 03 §20.5)에서 위임되었습니다.
#include <ctime>
std::tm time_in = { 0, 0, 0, // second, minute, hour
4, 9, 1984 - 1900 }; // 1-based day, 0-based month, year since 1900
std::time_t time_temp = std::mktime(& time_in);
// the return value from localtime is a static global - do not call
// this function from more than one thread!
std::tm const *time_out = std::localtime(& time_temp);
std::cout << "I was born on (Sunday = 0) D.O.W. " << time_out->tm_wday << '\n';
+1 upvoted. 이 질문을 다시 열도록 투표했습니다. 아마도 그것은 스택 오버플로 중복입니다, 나도 몰라. 그러나 이것은 실제 C++ 질문입니다 (진짜 질문이 아니기 때문에 닫았습니다). 그리고 이것은 좋은 대답입니다. –
흠, downvote있어. 이유는 모르겠지만'std :: localtime'은 쓰레드에 안전하지 않습니다. [이 Q & A] (http://stackoverflow.com/q/7313919/153285)를 참조하십시오. – Potatoswatter
나는 그가 받아들이는 대답을 알고 있지만 그가 정말로 요구 한 대답은 알지 못한다. –
출발점이 필요합니다. 오늘은 괜찮아. 그것을 하드 코딩하십시오.
그런 다음 한 달의 일 수를 나타낼 필요가 있습니다. 이것은 31, 28, 31, 30, 31, 30, ...입니다. 따라서 각 연도의 요일에 365 % 7을 더하거나 뺀 다음 (월 차이 일수) % 7을 다시 추가하고 뺄 수 있습니다. 등등.
주의해야 할 점 : 그 해는 400 위키 백과에
그걸로 갈 수 있습니다. 하드 코딩은 완전히 괜찮습니다. –
- 1. 날짜 범위의 요일 수를 계산하십시오.
- 2. 요일 만 계산하는 날짜 함수
- 3. 날짜 시간 된 요일 비교
- 4. 날짜 해시 알고리즘
- 5. 재귀 대 반복 알고리즘
- 6. 대화식 날짜 문자열을위한 우아한 알고리즘?
- 7. Objective-C의 퍼지 날짜 알고리즘
- 8. tablesorter - 요일
- 9. Solr 날짜 필드 tdate 대 날짜?
- 10. 날짜 계산에서 주말 및 맞춤 요일 (예 : 공휴일) 제외
- 11. FullCalendar - agendaWeek보기에서 요일 머리글을 클릭하여 날짜 가져 오기
- 12. Python 질문 : 올해의 연도와 요일?
- 13. 제공된 날짜의 첫 번째 요일 가져 오기
- 14. 이벤트 날짜를 기준으로 날짜 범위를 검색하는 알고리즘
- 15. 요일 XSD enum
- 16. 첫날과 마지막 요일
- 17. 특정 요일에 요일 추가
- 18. 자바 요일 계산
- 19. Rails I18n : 요일
- 20. 일 요일 숫자 (월요일 = 1, 화요일 = 2)
- 21. Java에서의 문자열 대 날짜 형식 배열의 변환
- 22. NSDateFormatter - 시뮬레이터와 하드웨어가 다른 날의 요일
- 23. 요일, 자바 및 Zeller의 일치!
- 24. 다음 해 첫날과 같은 요일
- 25. mysql : 요일 이름의 테이블 주문
- 26. 요일, 태평양 표준시를 얻는 방법
- 27. 레일즈 3 주중의 요일 찾기
- 28. PHPMyAdmin 필드에 요일 저장 하시겠습니까?
- 29. 요일 색인을 문자열 목적 코드
- 30. 날짜 차이, 특정 시간 및 날짜 제외
의 배수가 아닌 도약 년, 매 4 년에 발생하지만 모든 100하지 : [요일을 계산 (HTTP : // EN .wikipedia.org/wiki/Calculating_the_day_of_the_week). – hammar
약 5 초 만에 Google을 검색 할 수 있습니다. 그럼 그것에 대한 또 다른 질문입니다 : http://stackoverflow.com/questions/3017745/given-date-get-day-of-week-systemtime – darvids0n
@ darvid : Windows 관련 Q & A로 생각하지 않습니다. 그것은 센다. – Potatoswatter