代码改变世界

win32的时间api

2011-10-24 21:08  捣乱小子  阅读(1204)  评论(0编辑  收藏  举报

在时间函数当中会用到两个比较常用的函数,GetSystemTime和GetLocalTime,其中前者是得到格林威治时间,后者是得到当地的时间,大家知道格林威治时间是世界标准时间,我们国家用的是北京时间,而北京在在东八区,自然要加八个小时。在一些软件日志和数据录入(比如销售详明)都会调用时间函数。

不说那么多,直接上代码:

#include <windows.h>
#include <stdio.h> 

void main()
{
    TCHAR szBuffer[256];
    SYSTEMTIME st;
    ::GetSystemTime(&st);
    ::wsprintf(szBuffer,TEXT("UTC is %u/%u/%u %u:%u:%u %u %d\r\n"),
        st.wYear,st.wMonth,st.wDay,
        st.wHour,st.wMinute,st.wSecond,st.wMilliseconds,st.wDayOfWeek);
    ::wprintf(szBuffer); 

    ::memset(szBuffer,'\0',sizeof(szBuffer));
    ::GetLocalTime(&st);
    ::wsprintf(szBuffer,TEXT("Local is %u/%u/%u %u:%u:%u %u %d\r\n"),
        st.wYear,st.wMonth,st.wDay,
        st.wHour,st.wMinute,st.wSecond,st.wMilliseconds,st.wDayOfWeek);
    ::wprintf(szBuffer);
}