0
我有一个tm格式的日期。我怎样才能比较当前的系统日期。我只想比较tm_year,tm_mon,tm_mday。C++ - 与当前系统日期比较日期
int second = atoi(dateinSecond.c_str());
tm * ptm;
ptm = gmtime (second);
基本上我有一个属于不同日期的数据集合。所以我想过滤当前日期的数据。
感谢,
SYD
我有一个tm格式的日期。我怎样才能比较当前的系统日期。我只想比较tm_year,tm_mon,tm_mday。C++ - 与当前系统日期比较日期
int second = atoi(dateinSecond.c_str());
tm * ptm;
ptm = gmtime (second);
基本上我有一个属于不同日期的数据集合。所以我想过滤当前日期的数据。
感谢,
SYD
为了获取当前时间,使用time
功能:
time_t timeNow = time(NULL);
tm now;
tm* nowTemp = gmtime(&timeNow);
memcpy(&now, nowTemp, sizeof(now));
int second = atoi(dateinSecond.c_str());
tm * ptm;
ptm = gmtime (second);
if (now.tm_year == ptm->tm_year &&
now.tm_mon == ptm->tm_mon &&
now.tm_mday == ptm->tm_mday)
{
// Equal
}
的原因,你必须复制tm
结构是gmtime
返回一个指向内部缓冲区,所以如果您再次为您的输入日期调用它,您将覆盖之前的时间结构。
它抛出错误以下。错误错误C2664:'gmtime':无法将参数1从'time_t'转换为'const time_t *' – sid 2011-02-03 06:59:20
将标签更改为“C”而不是“C++”。他们是两种不同的语言,并且这个代码在C ... – 2011-02-03 07:57:29