Windows下c++获取系统时间的三种方法

来源:互联网 发布:潮州美工培训 编辑:程序博客网 时间:2024/05/21 09:13

1、CTime类的static接口GetCurrentTime()

包含的头文件#include <atltime.h>

CTime类的对象表示的时间是基于格林威治标准时间(GMT)的。

CTime表示的日期上限是3000年12月31日,下限是1970年1月1日 12:00:00 AM GMT。


构造和初始化:

       CTime(__time64_t time);

       以一个__time64_t(注意:最前面的下划线有两条)类型的数据来构造一个CTime对象。参数time是一个__time64_t类型的值,表示自GMT时间1970年1月1日零点以来的秒数,这里要注意的是,参数time代表的时间会转换为本地时间保存到构造的CTime对象中。例如,我们传递参数0构造一个CTime对象,然后调用CTime对象的GetHour成员函数将返回8,因为参数0代表的GMT时间转换为北京时间后为1970年1月1日 8:00:00。


CTime(
   int nYear,
   int nMonth,
   int nDay,
   int nHour,
   int nMin,
   int nSec,
   int nDST = -1 
);

以本地时间的年、月、日、小时、分钟、秒等几个时间分量构造CTime对象。注意年份取值范围在1970-3000,如果不在该范围内构造初始化的话,就会出现异常崩溃。

       static CTime WINAPI GetCurrentTime( );

       获取系统当前日期和时间。返回表示当前日期和时间的CTime对象。

CTime tmp;tmp = CTime::GetCurrentTime();info.nYear = tmp.GetYear();info.nMonth = tmp.GetMonth();info.nDay = tmp.GetDay();info.nHour = tmp.GetHour();info.nMinute = tmp.GetMinute();info.nSecond = tmp.GetSecond();

2、Windows api GetSystemTime()

       CTime(const SYSTEMTIME& st,int nDST = - 1) ;

       以一个SYSTEMTIME结构体变量来构造CTime对象。

SYSTEMTIME tmp;GetSystemTime(&tmp);info.nYear = tmp.wYear;info.nMonth = tmp.wMonth;info.nDay = tmp.wDay;info.nHour = tmp.wHour;info.nMinute = tmp.wMinute;info.nSecond = tmp.wSecond;


3、window api GetLocalTime()(毫秒级)

SYSTEMTIME tmp;GetLocalTime(&tmp);info.nYear = tmp.wYear;info.nMonth = tmp.wMonth;info.nDay = tmp.wDay;info.nHour = tmp.wHour;info.nMinute = tmp.wMinute;info.nSecond = tmp.wSecond;info.nMillSecond = tmp.wMilliseconds;


阅读全文
0 0
原创粉丝点击