我想检查当前日期是否是特定的设定日期,如果该日期正确,我希望它运行一个代码块。否则它将结束脚本。我在想的是,它会是这样的:
int/string? date = ????;
if(date==10/07/13){
}
else
return 0;
我将有一个名为 date 的变量,它将获取当前日期。我看到的问题是其中有斜线。另外,我想补充一点,我是在英语 Windows 7 计算机上编写的,我希望它在荷兰语 Windows 7 计算机上打开。这会是一个问题吗?
这应该让你开始:
#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
(使用当前语言环境),您还可以使用gmtime
UTC 来获取时间。
#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。您可以将它们与整数进行比较,或从中构建一个简单的可比较字符串日期格式。