MFC程式設計中CTime各種格式轉換

2021-08-20 12:53:17 字數 2770 閱讀 7758

mfc程式設計中ctime各種格式轉換

(一)獲得當前日期和時間,並可以轉化為 cstring

ctime tm=ctime::getcurrenttime();

cstring str=tm.format("%y-%m-%d");

或者systemtime systemtime;

::getlocaltime(&systemtime);

ctime ctimenow(systemtime);

// 還有乙個getsystemtime();

在vc中,我們可以借助ctime時間類,獲取系統當前日期,具體使用方法如下:

ctime t = ctime::getcurrenttime(); //獲取系統日期

int d=t.getday(); //獲得幾號

int y=t.getyear(); //獲取年份

int m=t.getmonth(); //獲取當前月份

int h=t.gethour(); //獲取當前為幾時

int mm=t.getminute(); //獲取分鐘

int s=t.getsecond(); //獲取秒

int w=t.getdayofweek(); //獲取星期幾,注意1為星期天,7為星期六

如果想計算兩段時間的差值,可以使用ctimespan類,具體使用方法如下:

ctime t1( 1999, 3, 19, 22, 15, 0 );

ctime t = ctime::getcurrenttime();

ctimespan span=t-t1; //計算當前系統時間與時間t1的間隔

int iday=span.getdays(); //獲取這段時間間隔共有多少天

int ihour=span.gettotalhours(); //獲取總共有多少小時

int imin=span.gettotalminutes();//獲取總共有多少分鐘

int isec=span.gettotalseconds();//獲取總共有多少秒

(二)cstring轉化為ctime

//轉化為ctime

cstring strtime="2008-7-2 21:59:11";

colevariant vtime(strtime);

vtime.changetype(vt_date);

coledatetime coletime=vtime;

systemtime systime;

varianttimetosystemtime(coletime, &systime);

ctime ctimefromdb(systime);

(三)ctime 與coledatetime

ctime是無符號long型,範圍0-4 2 9 4 9 6 7 2 9 5. 代表從2023年1月1日之後經過的秒數,所以到了2 0 3 7年它將達到4 2 9 4 9 6 7 2 9 5,從而不能再使用。

coledatetime是double型別,佔64位。代表從1 9 0 0年1 2月3 0號之後的天數(小時是天的小數部分),幾千年之內不會溢位.

ctime coledatetime相互轉換:

//coledatatime—>ctime

coledatetime coletime(1977,4,16,2,2,2);

systemtime systime;

varianttimetosystemtime(coletime, &systime);

ctime ctime(systime);

//ctime—>time_t

time_t tt=ctime.gettime();

//time_t—>coledatetime

coledatetime coletime(tt);

ctime _variant_t相互轉換

systemtime systime

ctime ctime(2007,5,7,0,0,0);

ctime.getassystemtime(systime);//轉成systime

double dtime;

systemtimetovarianttime(&systime,&dtime);

_variant_t var_time(dtime,vt_date);//var_time就是轉換結果

補:getsystemtime:所返回的是utc.

協調世界時(coordinated universal time,簡寫作utc,之前也被拼做universal time coordinated,有時是universal coordinated time)是由國際無線電諮詢委員會定義和建議採用的,並由國際時間局(bih)負責保持的以國際單位制(si)秒為單位的時間標度。對與無線電規則相關 的大部分實際應用而言,協調世界時(utc)與本初子午線(經度零度)上的平均太陽時等效。該時間過去以格林威治平均時(gmt)表示。  

協調世界時使用24小時制的時鐘表示,但也可以被轉換為12小時制的時鐘(am和pm)。utc用於飛行和航海,它有時也被稱作祖魯。utc使用陽曆

getlocaltime:返回的是本地時間,我建議一般用這個時間來作為你使用的時間

systime 轉cstring

systemtime strstarttime = m_ptask->getstarttime();

ctime ctimenow(strstarttime);

cstring str = ctimenow.format("%y-%m-%d %h:%m:%s");

MFC中的各種檔案

dsp developerstudio project 專案檔案,文字格式,不過不熟悉的話不要手工修改.dsw developerstudio workspace 是工作區檔案,其他特點和dsp差不多.plg 是編譯資訊檔案,編譯時的error和warning資訊檔案 實際上是乙個html檔案 一般...

MFC中各種字元轉換

本文主要概括了vs2013的mfc中,各種字元轉換 1.char 轉int,用函式atoi chartemp 10 int int atoi temp 2.int轉char,直接強制轉換 int int 0 char char int 3.cstring轉byte bytebyte 16 cstri...

MFC中各種指標的獲取

目錄 1 在view中獲得doc指標 3 在view中獲得mainframe指標 4 獲得view 已建立 指標 5 獲得當前文件指標 6 獲得狀態列與工具欄指標 7 獲得狀態列與工具欄變數 8 在mainframe獲得選單指標 9 在任何類中獲得應用程式類 10 從文件類取得檢視類的指標 1 在v...