GetCurrentTime(),GetLocalTime(),GetSystemTime()之间的区别

1. GetCurrentTime()

    GetCurrentTime()只和16位版本的windows兼容,在32位windows下最好用gettickcount();

2. GetLocalTime()

    GetLocalTime()在不同的机器中会有不同的结果,这和你在控制面板中的时区设置有关. 该函数是获取的系统当前所属时区的时间, 比如说, 在北京时区, 那么获取的该时间的时间.

3. GetSystemTime()
    
     GetSystemTime()获取的格林尼治时间, 是全球标准时间.
      
      SYSTEMTIME stUTC;
      GetSystemTime(&stUTC);
      TCHAR chBuf[nBufSize];
      wsprintf(chBuf,_T("UTC: %u/%u/%u %u:%u:%u:%u %d "),             
                  stUTC.wYear, stUTC.wMonth, stUTC.wDay,
                  stUTC.wHour, stUTC.wMinute, stUTC.wSecond,
                  stUTC.wMilliseconds,stUTC.wDayOfWeek);

4. GetTickCount()

     GetTickCount()获取的是从设备开机后的毫秒数. 不包括系统的挂起时间.

      主要的应用:
          dwOldTime = GetTickCount();
          DoSomeThing();
          dwTimeElapsed = GetTickCount() - dwOldTime;
      获取某段程序执行所需的时间.

5. 更好的办法:“now函数” 
    例如:formatdatetime('yyyy ''年'' m ''月'' d ''日''dddd '+'hh:mm:ssAM/PM',now); 
    输出结果: 2001年5月8日星期一19:35:40 PM

原文地址:https://www.cnblogs.com/shikamaru/p/7655845.html