Windows下c 獲取系統時間的三種方法

2021-08-03 02:26:34 字數 1694 閱讀 2565

包含的標頭檔案#include

ctime類的物件表示的時間是基於格林威治標準時間(gmt)的。

ctime表示的日期上限是2023年12月31日,下限是2023年1月1日 12:00:00 am gmt。

構造和初始化:

ctime(__time64_t time);

以乙個__time64_t(注意:最前面的下劃線有兩條)型別的資料來構造乙個ctime物件。引數time是乙個__time64_t型別的值,表示自gmt時間2023年1月1日零點以來的秒數,這裡要注意的是,引數time代表的時間會轉換為本地時間儲存到構造的ctime物件中。例如,我們傳遞引數0構造乙個ctime物件,然後呼叫ctime物件的gethour成員函式將返回8,因為引數0代表的gmt時間轉換為北京時間後為2023年1月1日 8:00:00。

ctime(

int nyear,

int nmonth,

int nday,

int nhour,

int nmin,

int nsec,

int ndst = -1 

);以本地時間的年、月、日、小時、分鐘、秒等幾個時間分量構造ctime物件。注意年份取值範圍在1970-3000,如果不在該範圍內構造初始化的話,就會出現異常崩潰。

static ctime winapi getcurrenttime( );

獲取系統當前日期和時間。返回表示當前日期和時間的ctime物件。

ctime tmp;

tmp = ctime::getcurrenttime();

info.nyear = tmp.getyear();

info.nmonth = tmp.getmonth();

info.nday = tmp.getday();

info.nhour = tmp.gethour();

info.nminute = tmp.getminute();

info.nsecond = tmp.getsecond();

ctime(const systemtime& st,int ndst = - 1) ;

以乙個systemtime結構體變數來構造ctime物件。

systemtime tmp;

getsystemtime(&tmp);

info.nyear = tmp.wyear;

info.nmonth = tmp.wmonth;

info.nday = tmp.wday;

info.nhour = tmp.whour;

info.nminute = tmp.wminute;

info.nsecond = tmp.wsecond;

systemtime tmp;

getlocaltime(&tmp);

info.nyear = tmp.wyear;

info.nmonth = tmp.wmonth;

info.nday = tmp.wday;

info.nhour = tmp.whour;

info.nminute = tmp.wminute;

info.nsecond = tmp.wsecond;

info.nmillsecond = tmp.wmilliseconds;

Windows下C C 獲取當前系統時間

原文 寫軟體時經常要用到獲取系統時間顯示到狀態列,這裡在前人的基礎上總結了一下幾種方案。time t是定義在time.h中的乙個型別,表示乙個日曆時間,也就是從1970年1月1日0時0分0秒到此時的秒數,原型是 typedef long time t time value 可以看出time t其實是...

Windows下C C 獲取當前系統時間

time t是定義在time.h中的乙個型別,表示乙個日曆時間,也就是從1970年1月1日0時0分0秒到此時的秒數,原型是 typedef long time t time value 可以看出time t其實是乙個長整型,由於長整型能表示的數值有限,因此它能表示的最遲時間是2038年1月18日19...

獲取windows系統時間

獲取系統時間,這個方法比較簡單 sytimeemtime time getlocaltime time 獲得當前本地時間 getsytimeemtime time 這乙個是獲得格林威治時間,一般不用 sytimeemtime結構說明 typedef struct systemtime systemt...