国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

COleDateTime類型的應用

2019-11-08 00:25:59
字體:
來源:轉載
供稿:網友

使用COleDateTime類1) 獲取當前時間。      CTime time;      time = CTime::GetCurrentTime();2) 獲取時間元素。      int year = time.GetYear() ;      int month = time.GetMonth();      int day = time.GetDay();      int hour = time.GetHour();      int minute = time.GetMinute();      int second = time.GetSecond();      int DayOfWeek = time.GetDayOfWeek() ;3) 獲取時間間隔。      CTimeSpan timespan(0,0,1,0); // days,hours,minutes,seconds      timespan = CTime::GetCurrentTime() - time;4) 把時間轉換為字符串。      CString sDate,sTime,sElapsed Time ;      sDate = time.Format("%m/%d/%y"); //ex: 12/10/98      sTime = time.Format("%H:%M:%S"); //ex: 9:12:02      sElapsed Time = timespan.Format("%D:%H:%M:%S"); // %D is total elapsed days5) 把字符串轉換為時間。         CString sDateTime;         int nYear, nMonth, nDate, nHour, nMin, nSec;         sscanf(sDateTime, "%d-%d-%d %d:%d:%d", &nYear, &nMonth, &nDate, &nHour, &nMin, &nSec);         CTime sTime(nYear, nMonth, nDate, nHour, nMin, nSec); 要想知道更多的時間格式,參見MFC文檔中的strftime

使用COleDateTime類1) 獲得一年中的某一天。      COleDateTime datetime;      datetime = COleDateTime::GetCurrentTime();      int DayOfYear = datetime.GetDayOfYear();2) 從文本串中讀取時間。      COleDateTime datetime;      datetime.ParseDateTime("12:12:23 27 January 93");3) 獲取時間間隔。         //比方計算日期差         COleDateTime begin_date(1970, 1, 1, 0, 0, 0);         COleDateTime end_date(1990, 1, 1, 0, 0, 0);         COleDateTimeSpan timeSpan;    //計算時間差         timeSpan = end_date - begin_date;          long expi_date = timeSpan.GetDays();

說明■ CTime和COleDateTime具有幾乎同樣的功能。然而,COleDateTime允許用戶獲得一年中的某一天(創建Julian日期的一種好方法),以及分析一個時間文本串。■ 與CTime相比, COleDateTime的優點在于它支持DWord變量。COleDateTime使用的位數是雙浮點的兩倍,既然CTime只是簡單地計算從1970年1月1日之后經過的秒數,所以到了2037年它將達到4294967295,從而不能再使用。相反,COleDateTime是一個浮點數,它表示是從1900年12月30號之后的天數(小時是天的小數部分),幾千年之內不會溢出。

 補充:

一、COleDateTime.Net有DateTime類用來處理日期時間,很方便,VC則可以用ATL庫的COleDateTime類,用起來也還不錯:首先包含相關的頭文件:#include <ATLComTime.h>初始化COleDateTime實例:COleDateTime date_time;date_time.SetDate(Year, Month, Day);date_time.SetTime(Hour, Minute, Second);COleDateTime重載了+,-,+=,-=等運算符,可以方便的讓時間日期前進倒退,操作對象為COleDateTimeSpan,如:date_time += COleDateTimeSpan(Day, Hour, Minute, Second); //天,時,分,秒COleDateTime還可以將一個有效的時間字符串Parse過來,初始化實例本身:date_time.ParseDateTime(CString("2008-04-18 09:00:00"));

反過來,COleDateTime可以Format成一個時間日期格式的字符串CString:date_time.Format(L"%Y%m%d"); // 年,月,日, 注意m大寫表示分鐘Minute

二、CStringCString用法比較簡單,可是有些用法長期不用會忘掉,為了下次要用的時候能快速通過經驗找到答案,所以還是寫下一些東西。CString 有個Format成員,能轉化成一個CString,參數跟C的PRintf用法差不多,如:CString str;str.Format("%s%d%02i", CString("Example"), 9, 1);// 第一個參數string,第二個Signed十進制數,第三個是寬度為2,不夠則以0填充的Signed十進制數,

因此操作之后str的值為:Expample901

CTime COleDateTime的常用操作和比較(轉)

 

1) 獲取當前時間。datetime = COleDateTime::GetCurrentTime();CTime和COleDateTime具有幾乎同樣的功能。與CTime相比, COleDateTime的優點在于它支持DWORD變量。COleDateTime使用的位數是雙浮點的兩倍,既然CTime只是簡單地計算從1970年1月1日之后經過的秒數,所以到了2 0 3 7年它將達到4 2 9 4 9 6 7 2 9 5,從而不能再使用。//CString--->COleDateTimeCOleVariant vtime(strCString);COleDateTime time4=vtime;//CTime--->time_tCOleDateTime time3(time2);//time_t--->COleDateTime.

CString COleDateTime CTime互相轉換 strCString="2003-10-27 6:24:37"; //CString--->COleDateTimeCOleVariant vtime(strCString);vtime.ChangeType(VT_DATE);COleDateTime time4=vtime;

COleDateTime time1(1977,4,16,2,2,2); //COleDataTime--->CTimeSYSTEMTIME systime;VariantTimeToSystemTime(time1, &systime);CTime tm(systime);

time_t time2=tm.GetTime(); //CTime--->time_tCOleDateTime time3(time2); //time_t--->COleDateTime

CString str = tDate.Format(_T("%Y-%m-%d"));


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台中县| 航空| 原平市| 麻江县| 藁城市| 溧水县| 巍山| 乌兰察布市| 隆德县| 青海省| 田东县| 瑞丽市| 西乌珠穆沁旗| 阿合奇县| 恩施市| 彰化县| 永胜县| 富川| 偏关县| 宁陕县| 黎平县| 西城区| 浦县| 安溪县| 玉门市| 凤冈县| 阿巴嘎旗| 迁西县| 当阳市| 台南市| 东阿县| 双桥区| 汉沽区| 涞水县| 苏州市| 永康市| 老河口市| 西华县| 乌鲁木齐县| 泗水县| 孝感市|