1

我想检查当前日期是否是特定的设定日期,如果该日期正确,我希望它运行一个代码块。否则它将结束脚本。我在想的是,它会是这样的:

int/string? date = ????;

if(date==10/07/13){
    }
else 
    return 0;

我将有一个名为 date 的变量,它将获取当前日期。我看到的问题是其中有斜线。另外,我想补充一点,我是在英语 Windows 7 计算机上编写的,我希望它在荷兰语 Windows 7 计算机上打开。这会是一个问题吗?

4

2 回答 2

4

这应该让你开始:

#include <ctime>
#include <iostream>

int main()
{
    std::time_t tp = std::time(NULL);   // current time, an integer
                                        // counting seconds since epoch

    std::tm * ts = std::localtime(&tp); // parsed into human conventions


    std::cout << "Year: " << 1900 + ts->tm_year << "\n"
              << "Month: " << ts->tm_mon << "\n"
              << "Day: " << ts->tm_mday << "\n"
        ;
}

除了localtime(使用当前语言环境),您还可以使用gmtimeUTC 来获取时间。

于 2013-05-19T11:17:10.677 回答
0
#include <iostream>
#include <string>
#include <ctime>

using namespace std;

string dateString(tm *locTime)
{
return to_string(locTime->tm_year) + "/" + to_string(locTime->tm_mon) + "/" + to_string(locTime->tm_mday)
}

int main( )
{
   time_t now = time(0);
   tm *ltm = localtime(&now);
   if(dateString(ltm)=="YYYY/MM/DD")
   {statements}
}

tm结构包含整数,如 tm_year、tm_mon、tm_mday。您可以将它们与整数进行比较,或从中构建一个简单的可比较字符串日期格式。

于 2013-05-19T11:19:57.560 回答