給定一天,一個月和一年,算法返回一週中的哪一天?日期到星期的算法?
回答
這可以使用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++問題(被關閉不是一個真正的問題),這是一個很好的答案。 – 2011-04-27 00:51:19
嗯,得到了一個downvote。不知道爲什麼,但請注意'std :: localtime'不是線程安全的。請參閱[本問答](http://stackoverflow.com/q/7313919/153285)。 – Potatoswatter 2014-03-26 09:55:07
我知道他接受的答案,但不是他真正要求的答案。 – 2014-03-26 18:43:28
你需要一個起點。今天很好。對它進行硬編碼。
然後,您需要表示一個月中的天數。這是31日,28日,31日,30日,31日,30日......。因此,您可以開始每週添加和減去365%7到每週的一天,以及(月的差額總和)%7。等等。
的警告:發生閏年每4年,但不是每一個100的,除非這一年也是400
我可以去那。硬編碼完全沒問題。 – 2016-07-02 07:16:14
- 1. 計算下一個星期一到指定日期的日期
- 2. 獲取從給定日期星期一到星期五的星期日期
- 3. 計算指定日期的星期
- 4. 計算每個星期的日期
- 5. Django的日期字段得到一個星期就像星期日星期一
- 6. SQL Server 2012-星期日期星期六到星期五
- 7. 計算星期一到星期六的星期幾
- 8. 計算日期星期一作爲星期幾= 1
- 9. 使用星期六作爲星期結束日期計算oracle中的星期結束日期
- 10. 按星期幾計算訂單,將星期六和星期日計數添加到星期五
- 11. 如何使用星期六作爲星期結束日期來計算星期結束日期?
- 12. 計算從一個日期到另一個日期的星期數
- 13. dropdownlist日期/星期
- 14. 計算星期六和星期日的數量
- 15. 用C語言計算給定日期(即星期日或星期一或星期幾等)的總數
- 16. 找到特定日期的星期幾
- 17. 星期一組的日期?
- 18. 查找上一個星期日期算法
- 19. PHP星期一星期一和星期六日期問題
- 20. 如何明確星期日和星期六的日期數?
- 21. 獲取基於給定日期的星期一至星期日
- 22. 從GPS星期數,星期幾到日期時間轉換
- 23. SQL組日期爲星期日期
- 24. 如何計算當前日期前四個星期日的日期
- 25. 無法比較星期五日期JavaScript
- 26. 得到兩個日期之間的日期,按星期幾
- 27. 從星期一到星期日獲取當週工作日
- 28. 如何從星期一到星期日獲取各種MySQL日期的算術平均值
- 29. 如何計算當月的星期日?
- 30. php一個星期前得到日期
維基百科上的倍數:【計算一週的某一天(HTTP:// EN .wikipedia.org /維基/ Calculating_the_day_of_the_week)。 – hammar 2011-04-26 23:54:14
您可以在五秒鐘內用Google進行搜索。這是另一個關於它的問題:http://stackoverflow.com/questions/3017745/given-date-get-day-of-week-systemtime – darvids0n 2011-04-26 23:55:01
@darvid:這是一個Windows特定的問答,我不認爲它很重要。 – Potatoswatter 2011-04-26 23:57:23