2013-07-10 59 views
0

如何檢查今天是否是使用C/C++代碼的月份的第一個星期一?C/C++ - 檢查今天是否是本月的第一個星期一

使用Java和C#獲得更簡單(如下面的鏈接所示)。

任何人都可以幫助我實現這個使用C/C++。

c-sharp-how-can-i-check-if-today-is-the-first-monday-of-the-month

java check if date is first Sunday of the Month

+7

它不是。今天是星期三。 –

+1

看看Boost中的date_time庫:www.boost.org – Bathsheba

+0

你可以得到月份和星期幾的數字,如果(數字 - 7 <1和星期==星期一),那麼它是本月的第一個星期一 – Alexis

回答

4

這應該是你在找什麼:

#include <iostream> 
#include <ctime> 

int main(){ 
    std::time_t result = std::time(NULL); 
    const std::tm* t = std::localtime(&result); 
    if(t->tm_wday == 1 and t->tm_mday <= 7) 
    std::cout << "true" << std::endl; 
    else 
    std::cout << "false" << std::endl; 
} 

代碼已經過測試here

2

使用的Boost.Date_Time gregorian。有一個功能day_clock::local_day(),給你今天的日期。然後,您可以使用day()成員函數查詢當月的哪一天以及day_of_week()成員以查看它是否是星期一。其餘部分與您鏈接到的C#示例相同。

1

您可以使用time()localtime()檢索struct time *(我們將其命名爲tp)。那麼今天是當月的第一個星期一,當且僅當tp->tm_mday <= 7(它從1開始)和tp->tm_wday == 1(0 =星期日等)

相關問題