Windows API一日一練(70)GetSystemTime和GetLocalTime函數

來源:互聯網
上載者:User

時間是一個非常重要的資訊,比如寫LOG時,就需要把時間輸出來,跟蹤程式是什麼時候出錯的。或者當你開發一個銀行交易系統時,就要記錄當前交易的時間,以便後面可以輸出報表,列印給信用卡使用者。根據不同的需求,可能需要使用不同的時間,目前有UTC和本地時間。UTC是格林威治時間,也就是全球標準時間。本地時間就是相對於UTC而言的,比如中國北京是在東8區,相對於UTC就多了8個小時。一般使用到的時間都是使用本地時間,也就是調用函數GetLocalTime。
 
函數GetSystemTime和GetLocalTime聲明如下:
 
WINBASEAPI
VOID
WINAPI
GetSystemTime(
    __out LPSYSTEMTIME lpSystemTime
    );
   
WINBASEAPI
VOID
WINAPI
GetLocalTime(
    __out LPSYSTEMTIME lpSystemTime
    );
 
lpSystemTime是擷取系統時間的結構。
 
調用函數的例子如下:
#001
#002  //擷取系統時間。
#003  //蔡軍生 2007/11/11 QQ:9073204 深圳
#004  void TestSystem(void)
#005  {
#006         //擷取系統的UTC時間。
#007         SYSTEMTIME stUTC;
#008        ::GetSystemTime(&stUTC);
#009
#010         //顯示時間的間隔。
#011         const int nBufSize = 256;
#012         TCHAR chBuf[nBufSize];
#013         wsprintf(chBuf,_T("UTC: %u/%u/%u %u:%u:%u:%u %d\r\n"),            
#014               stUTC.wYear, stUTC.wMonth, stUTC.wDay,
#015               stUTC.wHour, stUTC.wMinute, stUTC.wSecond,
#016               stUTC.wMilliseconds,stUTC.wDayOfWeek);
#017         OutputDebugString(chBuf);
#018
#019
#020         //擷取當地的時間。
#021         SYSTEMTIME stLocal;
#022        ::GetLocalTime(&stLocal);
#023
#024         //顯示時間的間隔。
#025         wsprintf(chBuf,_T("Local: %u/%u/%u %u:%u:%u:%u %d\r\n"),                 
#026               stLocal.wYear, stLocal.wMonth, stLocal.wDay,
#027               stLocal.wHour, stLocal.wMinute, stLocal.wSecond,
#028               stLocal.wMilliseconds,stLocal.wDayOfWeek);
#029         OutputDebugString(chBuf);
#030
#031  }
#032
 
上面兩個函數在我測試時輸出的結果,如下:
UTC: 2007/11/11 1:53:1:46 0
Local: 2007/11/11 9:53:1:46 0

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/caimouse/archive/2007/11/11/1878569.aspx

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.