1. 程式人生 > >VC++獲取當前系統時間日期 GetSystemTime()函式的用法

VC++獲取當前系統時間日期 GetSystemTime()函式的用法

1.使用CTime類
CString str;
//獲取系統時間
CTime tm;
tm=CTime::GetCurrentTime();
str=tm.Format("現在時間是%Y年%m月%d日 %X");
MessageBox(str,NULL,MB_OK);

2.得到系統時間日期(使用GetLocalTime)

SYSTEMTIME st;
CString strDate,strTime;
GetLocalTime(&st);
strDate.Format("%4d-%2d-%2d",st.wYear,st.wMonth,st.wDay);
strTime.Format("%2d:%2d:%2d",st.wHour,st.wMinute,st.wSecond) ;
AfxMessageBox(strDate);
AfxMessageBox(strTime);

3.使用GetTickCount

//獲取程式執行時間
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);


4.使用time_t time( time_t * timer )    精確到秒
  計算時間差使用double difftime( time_t timer1, time_t timer0

5.使用DWORD GetTickCount() 得到的是系統執行的時間 精確到毫秒

6.要獲取高精度時間,可以使用
    BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)獲取系統的計數器的頻率
    BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)獲取計數器的值
    然後用兩次計數器的差除以Frequency就得到時間。

7.還有David的文章中提到的方法:
    Multimedia Timer Functions
    The following functions are used with multimedia timers.
    timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime
    timeGetTime/timeKillEvent/TimeProc/timeSetEvent 精度很高 
Q:
GetTickCount()函式,說是毫秒記數,是真的嗎,還是精確到55毫秒?
A:
GetTickCount()和GetCurrentTime()都只精確到55ms(1個tick就是55ms)。如果要精確到毫秒,應該使用timeGetTime函式或QueryPerformanceCounter函式。具體例子可以參考QA001022 "VC++中使用高精度定時器"、QA001813 "如何在Windows實現準確的定時"和QA004842 "timeGetTime函式延時不準"。
Q:
vc++怎樣獲取系統時間,返回值是什麼型別的變數呢? 
A:
GetSystemTime返回的是格林威志標準時間 
VOID GetSystemTime( 
LPSYSTEMTIME lpSystemTime // address of system time structure 
); 
函式就可以獲得了,其中LPSYSTEMTIME 是個結構體 
含:年,月,日,周幾,小時,分,秒,毫秒。

相關推薦

VC++獲取當前系統時間日期 GetSystemTime()函式用法

1.使用CTime類 CString str; //獲取系統時間 CTime tm; tm=CTime::GetCurrentTime(); str=tm.Format("現在時間是%Y年%m月%d日 %X"); MessageBox(str,NULL,MB_OK); 2.得到系統時間日期(使用GetL

java中獲取當前系統時間,日期並格式化輸出

 一. 獲取當前系統時間和日期並格式化輸出: import java.util.Date; import java.text.SimpleDateFormat; public class NowString {    public static void main(String[] args) {     

Jmeter入門12 __time函式 jmeter獲取當前系統時間

有的介面要傳遞當前的日期或時間,可以用__time()函式獲取當前時間 ${__time()} 當前時間到計算機元年的毫秒數 ${__time(時間格式)}  以預定的格式顯示當前時間    請求示例:   __time(時間格式)&nbs

JAVA中獲取當前系統時間

arch tac 獲取 -m simple 得到 轉化 sel stack 一. 獲取當前系統時間和日期並格式化輸出: import java.util.Date;import java.text.SimpleDateFormat; public class NowStri

JAVA獲取當前系統時間System.currentTimeMillis()

log time 格式 formatter simple 但是 計算 之間 自己 System.currentTimeMillis()產生一個當前的毫秒,這個毫秒其實就是自1970年1月1日0時起的毫秒數,Date()其實就是相當於Date(System.currentTi

java---獲取當前系統時間--納秒

系統時間 star pretty 開始 min gpo post java pan long startTime = System.nanoTime(); //開始時間 //這裏寫操作 //消耗時間 long consumingTime = System.na

c#獲取當前系統時間,並提取按格式提取年月日為字符串

sta ogr mon 系統 ram AR 當前系統時間 ren 獲取 class Program { static void Main(String[] args) { DateTime currentTi

獲取當前系統時間工具類TimeUtils

string public date() new edate 當前 com strong alt TimeUtils: package com.duocy.util; import java.time.LocalDateTime;import java.time.f

獲取當前系統時間的前一天,後一天

獲取當前系統前一天日期 public static Date getYesterday(Date date) {         Calendar calendar = Calendar.getInstance

C C++如何獲取當前系統時間

C庫中與系統時間相關的函式定義在<time.h>標頭檔案中, C++定義在<ctime>標頭檔案中。 一、time(time_t*)函式 函式定義如下: time_t time (time_t* timer);

js獲取當前系統時間的前幾小時、天、周、月、年

 **.js $(function(){ }); var oneJsTest={ //以當前系統時間作為結束時間,return不同時間範圍de開始時間 reqShebeiDataByShebeiAndTimeQueryByDifferentTime:func

jq獲取當前系統時間

//格式:2018-10-08 16:21:25 var d = new Date(); var vYear = d.getFullYear() var vMon = d.getMonth() + 1 var vDay = d.getDate(); var h = d.ge

jquery獲取當前系統時間/當前系統第二天時間/當前系統第三天時間

/**載入日期*/     function quickInputCustDateTimePicker(){         /** 獲取當前系統時間 */      &

獲取當前系統時間兩小時後和四小時後,蘋果瀏覽器報錯NaN,或者Invalid Date,

    <script type="text/javascript" src="js/libs/jquery.min.js"></script>    <script type="text/javascript" src="j

DataTime獲取當前系統時間大全

在c# / ASP.net中我們可以通過使用DataTime這個類來獲取當前的時間。通過呼叫類中的各種方法我們可以獲取不同的時間:如:日期(2008-09-04)、時間(12:12:12)、日期+時間(2008-09-04 12:11:10)等。

c++獲取當前系統時間並格式化輸出

#include <string> #include <time.h> using namespace std; string getTime() { time_t timep; time (&timep); char

獲取當前系統時間戳的方法

1、第一種方式     NSDate* dat = [NSDatedateWithTimeIntervalSinceNow:0]; NSTimeInterval a=[dat timeInterval

java 獲取當前系統時間 時間比較

方法一: DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");  String dateBegin=fmt.format(carrierCommand.getDateBegin());  String dateEnd=fmt.format(carrierC

Linux下用C獲取當前系統時間

#include   <time.h> time_t   time(time_t   calptr); 返回的是日曆時間,即國際標準時間公元1970年1月1日00   :   00   :   00以來經過的秒數。然後再呼叫 char   *ctime(const

ASP.net中DateTime獲取當前系統時間的大全

在c# / ASP.net中我們可以通過使用DataTime這個類來獲取當前的時間。通過呼叫類中的各種方法我們可以獲取不同的時間:如:日期(2008-09-04)、時間(12:12:12)、日期+時間(2008-09-04 12:11:10)等。  //獲取日期+時間