求:将日期-时间字符串转化为结构的函数或类 (不包括MFC类) 将合法的日期-时间字符串,如:2005-05-03 12:24:20 转化为一个结构中,如tm结构. API函数,自己写的函数,或现成的类都可以. MFC类除外呀! 先谢谢了. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用COleDateTime::ParseDateTime()函数转换. 用sscanf函数。tm times = {0};char tokenstring[] = "2005-05-03 12:24:20";sscanf( tokenstring, “%d-%d-%d %d:%d:%d”, ×.tm_year , ×.tm_mon,×.tm_mday,×.tm_hour,×.tm_min,×.tm_sec ); bool CptTime::Format(STimeInfo& si,const char* pcDateTime) const{ assert(pcDateTime!=NULL) ; if(!this->IsValidFormat(pcDateTime)) { return false ; } char szCopy[20+1] = {0} ; ::strcpy(szCopy,pcDateTime) ; char* pcTem = ::strtok(szCopy,"-") ; si.wYear = ::atoi(pcTem) ; pcTem = ::strtok(NULL,"-") ; si.wMonth = ::atoi(pcTem) ; pcTem = ::strtok(NULL," ") ; si.wDay = ::atoi(pcTem) ; pcTem = ::strtok(NULL,":") ; si.wHour = ::atoi(pcTem) ; pcTem = ::strtok(NULL,":") ; si.wMinute = ::atoi(pcTem) ; pcTem = ::strtok(NULL,":") ; si.wSecond = ::atoi(pcTem) ; return true ;} 谢谢三位了. 其实我希望能支持多种格式的时间类型:如"25 January 1996""8:30:00""20:30:00""January 25, 1996 8:30:00""8:30:00 Jan. 25, 1996""1/25/1996 8:30:00"To: lzzqqq(Jonersen),我不能用MFC类,能有其他类吗(你收集和写的都行)?To: wangk(倒之),有支持上述格式的吗?To: Practise_Think(时代“过客”),CptTime是什么类呀?请问你有完整代码吗? To:Practise_Think(时代“过客”) ,难道就没现成的类,API函数,运行库函数支持将所有正确格式的时间字符串转化为时间结构吗? vc编译libcurl的问题... 派生自CWnd的类,如何输出一行文字? 串口进行文件传输时遇到问题 求救:如何创建一个类似于powerpoint设计模板的选择与应用的程序[在线等] sql语句中的变量使用问题 找一个(包括上一个、下一个、第一个、最后一个)的控件 谁有升级和斗地主游戏的算法? SQL 數據庫問題,急!! 一个常识型的问题,请解答,谢谢! VC中怎样将一个对话框保存成图形文件 简单的时间转换问题 在VC里如何获得任意两个日期时间段间的天数?
tm times = {0};
char tokenstring[] = "2005-05-03 12:24:20";
sscanf( tokenstring, “%d-%d-%d %d:%d:%d”, ×.tm_year , ×.tm_mon,
×.tm_mday,×.tm_hour,×.tm_min,×.tm_sec );
{
assert(pcDateTime!=NULL) ; if(!this->IsValidFormat(pcDateTime))
{
return false ;
} char szCopy[20+1] = {0} ; ::strcpy(szCopy,pcDateTime) ; char* pcTem = ::strtok(szCopy,"-") ;
si.wYear = ::atoi(pcTem) ; pcTem = ::strtok(NULL,"-") ;
si.wMonth = ::atoi(pcTem) ; pcTem = ::strtok(NULL," ") ;
si.wDay = ::atoi(pcTem) ; pcTem = ::strtok(NULL,":") ;
si.wHour = ::atoi(pcTem) ; pcTem = ::strtok(NULL,":") ;
si.wMinute = ::atoi(pcTem) ; pcTem = ::strtok(NULL,":") ;
si.wSecond = ::atoi(pcTem) ; return true ;
}
其实我希望能支持多种格式的时间类型:如
"25 January 1996"
"8:30:00"
"20:30:00"
"January 25, 1996 8:30:00"
"8:30:00 Jan. 25, 1996"
"1/25/1996 8:30:00"To: lzzqqq(Jonersen),我不能用MFC类,能有其他类吗(你收集和写的都行)?
To: wangk(倒之),有支持上述格式的吗?
To: Practise_Think(时代“过客”),CptTime是什么类呀?请问你有完整代码吗?
难道就没现成的类,API函数,运行库函数支持将所有正确格式的时间字符串转化为时间结构吗?