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