首页 > 代码库 > 将时间字符串转化成毫秒形式的时间
将时间字符串转化成毫秒形式的时间
前两天遇到一个要将字符串形式的时间转化成用毫秒表示的时间,作为一个初学者的我一下子没有了头绪,所以只能各种搜索。终于实现了自己想要的结果。先上代码,如果有不对的地方,希望大家指正。
1 #include <iostream> 2 #include <afx.h> //在非MFC下,使用CString需要包含这个头文件 3 using namespace std; 4 5 INT64 ChangeTimeStringToMillisconds(CString strTime); 6 7 void main() 8 { 9 CString str = "2014-11-4 21:39:01.234";10 INT64 miao = ChangeTimeStringToMillisconds(str);11 //cout << miao << endl; //<<操作符没有被INT64重载 error C2593: ‘operator <<‘ is ambiguous12 printf("%I64d\n", miao);13 }14 15 INT64 ChangeTimeStringToMillisconds(CString strTime)16 {17 char buf[100];18 tm t;19 int nms = 0;20 memset(&t, 0, sizeof(tm));21 sscanf(strTime, _T("%[^\t]"), buf, 100);22 sscanf(buf, _T("%d-%d-%d %d:%d:%d.%d"), &t.tm_year, &t.tm_mon, &t.tm_mday, &t.tm_hour, &t.tm_min, &t.tm_sec, &nms);23 if ((t.tm_year >= 1900)24 && (t.tm_mon >= 1 && t.tm_mon <= 12)25 && (t.tm_mday >= 1 && t.tm_mday <= 31)26 && (t.tm_hour >= 0 && t.tm_hour <= 59)27 && (t.tm_min >= 0 && t.tm_min <= 59)28 && (t.tm_sec >= 0 && t.tm_sec <= 59))29 {30 CTime time(t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec);31 INT64 nmstime = time.GetTime() * 1000 + nms; //time.GetTime()得到的结果是秒32 return nmstime;33 }34 return 0;35 }
将时间字符串转化成毫秒形式的时间
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。