一、獲取系統時間和當地時間
系統時間是指:格林尼治utc時間
當地時間是指:在中國境內為北京時間(所在時區的時間)
#include
int main(int argc,char *argv)
getlocaltime是函式time和localtime的合體
函式說明:此函式會返回從公元 1900 年0 月1 日的本地 時間從0 時0 分0 秒算起到現在所經過的秒數。
time:
標頭檔案:#include < time.h>
定義函式:time_t time(time_t *t);
函式說明:此函式會返回從公元 1970 年1 月1 日的utc 時間從0 時0 分0 秒算起到現在所經過的秒數。如果t 並非空指標的話,此函式也會將返回值存到t 指標所指的記憶體。
localtime:將time返回的時間資料轉換為本地時間
通常獲取時間的用法:
#include
int main(int argc,char * argv)
二、使用gettickcount,獲取程式執行時間 ,可以獲取ms級時間
long t1=gettickcount();//程式段開始前取得系統執行時間(ms)
sleep(500); long t2=gettickcount();//程式段結束後取得系統執行時間(ms)
str.format("time:%dms",t2-t1);//前後之差即 程式執行時間
afxmessagebox(str);//獲取系統執行時間
long t=gettickcount();
cstring str,str1;
str1.format("系統已執行 %d時",t/3600000);
str=str1; t%=3600000;
str1.format("%d分",t/60000);
str+=str1; t%=60000;
str1.format("%d秒",t/1000);
str+=str1;
afxmessagebox(str);
三、mfc中使用ctime類獲取時間(精度為秒)
cstring str;
ctime tm;
tm=ctime::getcurrenttime();//獲取系統時間
str=tm.format("現在時間是%y年%m月%d日 %x");
messagebox(str,null,mb_ok);
//或者
time time = ctime::getcurrenttime(); //獲取系統日期
int d=time.getday();獲得幾號
int y=time.getyear(); //獲取年份
int m=time.getmonth(); //獲取當前月份
int h=time.gethour(); //獲取當前為幾時
int mm=time.getminute(); //獲取分鐘
int s=time.getsecond(); //獲取秒
int w=time.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();//獲取總共有多少秒
五、高精度時間的獲取(精度為10us)
關於高精度時間的獲取,可以參考一下這個鏈結(vc時間控制函式)
執行秒級的時間獲取用getsystemtime就行;
執行毫秒級的時間獲取用gettickcount就行;
執行微秒級的時間獲取就必須用queryperformancefrequency和queryperformancecounter;
//#include 標頭檔案
large_integer litmp;
longlong qpart_start,qpart_end;
double dfminus, dffreq, dftim;//時間計數間隔,cpu頻率,時間差(單位為秒)
queryperformancefrequency(&litmp);
dffreq = (double)litmp.quadpart;// 獲得計數器的時鐘頻率
queryperformancecounter(&litmp);
qpart_start= litmp.quadpart;// 獲得初始值,即起始時間
dowhile(dftim<0.000001);//定時時間為1us
封裝高精度時間類(c++記錄精確時間-queryperformancefrequency()) Java中常用的時間操作方法
param 要轉換的毫秒數 return 該毫秒數轉換為 days hours minutes seconds 後的格式 author fy.zhang public static string formatduring long mss param begin 時間段的開始 param end 時...
C 中引用的操作方法
在函式中定義的變數都是區域性變數,所以返回函式中的結果只能通過return或者指標。那在函式中有沒有辦法不用指標也可以達到修改引數的目的呢?例如 錯誤案例 三個字串比較大小,swap函式用來比較大小 include includevoid swap char p1,char p2 int main ...
mysql中DDL的操作方法
mysql中ddl的操作方法 mysql中的dml操作 點了五根煙,終於把mysql中查詢操作 dql 搞懂了!mysql中資料完整性徹底解析 mysql多表查詢一遍打通 mysql中子查詢看不明白?那就得好好練 一些我們在mysql中常用的函式 讓我們來聊聊mysql中的許可權操作 mysql中關...