程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 將時間字符串轉化成毫秒形式的時間,字符串轉化毫秒形式

將時間字符串轉化成毫秒形式的時間,字符串轉化毫秒形式

編輯:C++入門知識

將時間字符串轉化成毫秒形式的時間,字符串轉化毫秒形式


  前兩天遇到一個要將字符串形式的時間轉化成用毫秒表示的時間,作為一個初學者的我一下子沒有了頭緒,所以只能各種搜索。終於實現了自己想要的結果。先上代碼,如果有不對的地方,希望大家指正。

 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 ambiguous
12     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 }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved