mfc中有两种获取当前时间的,一个是调用winapi的::GetCurrentTime(),这里面就是调用了::GetTickCount(),即返回系统从启动
到现在经过的毫秒数
另外一个是CTime的静态成员函数GetCurrentTime(),获取系统当前时间
// CTime类中的静态成员函数
CTime t = CTime::GetCurrentTime();
int d = t.GetDay(); // 获得几号
int y = t.GetYear();
int m = t.GetMonth();
int h = t.GetHour();
int mm = t.GetMinute();
int s = t.GetSecond();
int w = t.GetDayOfWeek(); // 获取星期几,1为星期天,7为星期六
CString strTime = t.Format(_T("%Y-%m-%d %H:%M:%S"));
// 如果想计算两端时间的差值,可以使用CTimeSpan类
CTime t1(1999, 3, 19, 22, 15, 0);
CTimeSpan span = t - t1;
int iDay = span.GetDays(); // 获取这段间隔共有多少天
int iHour = span.GetTotalHours(); // 共有多少小时
int iMin = span.GetTotalMinutes(); // 共有多少分钟
int iSec = span.GetTotalSeconds(); // 共有多少秒
SYSTEMTIME sysTm, LocTm;
GetSystemTime(&sysTm); // 获取格林威治标准时间,与北京时间相差8小时
GetLocalTime(&LocTm); // 获取本时区时间,中国即东八区北京时间
// 获取当前时间与1970年1月1日0点0时0分的秒数差
CTime t2 = CTime::GetCurrentTime();