windowsapi函数库:Windows API一日一练(70)GetSystemTime和GetLocalTime函数



  时间是个非常重要信息比如写LOG时就需要把时间输出来跟踪是什么时候出错或者当你开发个银行交易系统时就要记录当前交易时间以便后面可以输出报表打印给信用卡用户根据区别需求可能需要使用区别时间目前有UTC和本地时间UTC是格林威治时间也就是全球标准时间本地时间就是相对于UTC而言比如中国北京是在东8区相对于UTC就多了8个小时般使用到时间都是使用本地时间也就是GetLocalTime

  GetTime和GetLocalTime声明如下:

WINBASEAPI
VOID
WINAPI
GetTime(
    __out LPSYSTEMTIME lpTime
    );
   
WINBASEAPI
VOID
WINAPI
GetLocalTime(
    __out LPSYSTEMTIME lpTime
    );


  lpTime是获取系统时间结构

  例子如下:

#001 
#002  //获取系统时间
#003  //蔡军生 2007/11/11 QQ:9073204 深圳
#004  void Test(void)
#005  {
#006         //获取系统UTC时间
#007         SYSTEMTIME stUTC;
#008        ::GetTime(&stUTC);
#009 
#010         //显示时间间隔
#011         const  nBufSize = 256;
#012         TCHAR chBuf[nBufSize];
#013         wsprf(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         wsprf(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


Tags:  vcgetlocaltime getlocaltime windowsapi函数 windowsapi函数库

延伸阅读

最新评论

发表评论