下面我有以下代碼:strftime的犯規顯示一年正確
const char* timeformat = "%Y-%m-%d %H:%M:%S";
const int timelength = 20;
char timecstring[timelength];
strftime(timecstring, timelength, timeformat, currentstruct);
cout << "timecstring is: " << timecstring << "\n";
currentstruct是TM *。 cout以正確的格式給我提供日期,但是這一年不是2010年,而是3910年。我知道從1900年開始的年度合作有些事情要做,但我不知道如何讓strftime認識到這一點,而不是將1900年的價值添加到2010年的價值中,任何人都可以提供幫助。
問候
保羅
這完全取決於你如何填充電流結構。你可以發佈嗎? – Joe 2010-04-05 14:33:25
C規範說tm_years是「1900年以來的年份」。爲什麼不堅持標準,並避免這一整個混亂? – Powerlord 2010-04-05 14:35:38