GetLocalTime
#include "stdafx.h"
#include <iostream>
using namespace std;
#if 0
GetLocalTime是一个Windows API 函数,用来获取当地的当前系统日期和时间
函数原型 :
VOID GetLocalTime(
LPSYSTEMTIME lpSystemTime //address of system times structure
);
参数说明:
lpSystemTime: 指向一个用户自定义包含日期和时间信息的类型为 SYSTEMTIME 的变量,
该变量用来保存函数获取的时间信息。此函数会把获取的系统时间信息存储到SYSTEMTIME结构体里边
typedef struct _SYSTEMTIME
{
WORD wYear;//年
WORD wMonth;//月
WORD wDayOfWeek;//星期,0为星期日,1为星期一,2为星期二……
WORD wDay;//日
WORD wHour;//时
WORD wMinute;//分
WORD wSecond;//秒
WORD wMilliseconds;//毫秒
}SYSTEMTIME, *PSYSTEMTIME;
结构中的字段全为word类型,而Win32程序中用的往往是dword型变量,
所以在使用这些数据之前往往要先把它们转换为dword类型,用movzx指令就可以实现。
在SYSTEMTIME数据结构里, 日期和时间都被编码了.月份是从1月开始的(一月份就是1月)。
周日是从0开始的(星期天是0).wDay是在当前月份下的日期,也是从1开始的。
invoke SetLocalTime, lpSystemTime, GetLocalTime获取本地时间
invoke SetSystemTime, lpSystemTime; 获取格林威治标准时间
适用平台/头文件和链接库:
Windows 95及以上版本、Windows NT3.1及以上版本、Windows CE1.0及以上版本
头文件: winbase.h
链接库:coredll.lib
举例:
SYSTEMTIME stTime;
GetLocalTime(&stTime);
WORD wYear = stTime.wYear;
WORD wMonth = stTime.wMonth;
WORD wDay = stTime.wDay;
WORD wHour = stTime.wHour;
WORD wMinute = stTime.wMinute;
WORD wSecond = stTime.wSecond;
CString m_date;
//m_date字符串即为当前时间。如:2010年4月23日 11:12:45
m_date.Format("%4d年%2d月%2d日 %2d:%2d:%2d", wYear, wMonth, wDay, wHour, wMinute, wSecond);
#endif