gpt4 book ai didi

c++ - time_t 和 tm 转换中的值错误

转载 作者:行者123 更新时间:2023-11-30 17:52:30 25 4
gpt4 key购买 nike

我必须执行两个转换函数,从 time_t 到 tm 以及从 tm 到 time_t。

这是第一个:

string2time(string str){

time_t rawtime;
time(&rawtime);
tm* timeInfo = localtime(&rawtime);

stringstream ss(str);
string date;
string time;
getline(ss,date,' ');
getline(ss,time,' ');

string word;
//now we work with date..
stringstream sdate(date);

getline(sdate,word,'-');
timeInfo->tm_year = atoi(word.c_str()) -1900;

getline(sdate,word,'-');
timeInfo->tm_mon = atoi(word.c_str())-1;

getline(sdate,word,'-');
timeInfo->tm_mday = atoi(word.c_str());

//and time...
stringstream stime(time);

getline(stime,word,':');
timeInfo->tm_hour = atoi(word.c_str());

getline(stime,word,':');
timeInfo->tm_min = atoi(word.c_str());

getline(stime,word,':');
timeInfo->tm_sec = atoi(word.c_str());

return mktime(timeInfo);
}

这是第二个:

time2str(time_t t){
tm* myT;

myT = localtime(&t);
//here i have to explore myT structure in order to build a proper string

}

无论如何我得到了错误的值..从 2013-03-10 00:00:00 开始在 tm 结构中我得到 2013-04-21 18:16:29 ...为什么?

编辑:取得了一些进展!此代码始终有效,但当小时为 00 时!

最佳答案

已解决,只是字符串转换中的一个错误...抱歉,发生了麻烦。

关于c++ - time_t 和 tm 转换中的值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16133151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com