MFC CTime
2013-12-10 17:48
429 查看
一、使用MFC可以用以下代码得到
CTime time = CTime::GetCurrentTime(); ///构造CTime对象
int m_nYear = time.GetYear(); ///年
int m_nMonth = time.GetMonth(); ///月
int m_nDay = time.GetDay(); ///日
int m_nHour = time.GetHour(); ///小时
int m_nMinute = time.GetMinute(); ///分钟
int m_nSecond = time.GetSecond(); ///秒
OF LaUeM_M
我们还可以用CTime::Format函数将CTime对象转换为字符串对象
例如: 5ay~J00O E
CString m_strTime = time.Format("%Y-%m-%d %H:%M:%S");
运行结果:m_strTime为 2001-8-1 12:11:05
二、使用GetSystemTime()这个API函数得到系统时间
SYSTEMTIME ti;
GetSystemTime(&ti);
////我们可以通过读取SYSTEMTIME结构体成员直接得到时间
typedef struct _SYSTEMTIME
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
一、使用MFC的CTime类来得到时间:
CTime必须调用赋值函数,使用其静态函数来初始化
例如:
CTime time=CTime::GetCurrentTime();
这样就可以直接调用time的内部方法得到你想要的当前的时间了。
二、使用MFC的COleDateTime来得到时间:
同上一样,使用MFC 的COleDataTime来处理当前系统的时间也需要首先使用其静态函数来初始化
例如:
COleDataTime time=COleDataTime::GetCurrentTime();
这样之后就可以直接调用time的所有方法了。
针对上面两种MFC的调用方法,MFC帮他们封装好了显示格式的函数,并且能够直接返回CString的格式。同样,也可以自己指定显示格式,具体的显示情况如下%a:显示星期英文的前面几个字母
%A:显示星期的全部英文名称
%b:显示月份英文的前面几个字母
%B:显示月份的全部英文名称
%c:以百分号的形式显示日期时间如:06/02/25/ 01:13:57
%d:显示月份的序号(01 – 31)
%H:显示时间24小时制(00 – 23)
%I:显示时间12小时制(01 – 12)
%j:显示当前是一年中的第几天(001 – 366)
%m:显示月份序号(01 – 12)
%M:显示分钟(00 – 59)
%p:显示当前时间是上午还是下午 A.M./P.M.
%S:显示秒钟(00 – 59)
%U:显示当前是一年中的第几周(00 – 53)
%w:显示星期的序号(0 – 6; 星期日为 0)
%W:显示当前是一年中的第几周(00 – 53)
%x:以百分号的形式显示日期 如:06/02/25/
%X:以冒号的形式显示时间 如:01:12:45
%y:两位显示年号(00 – 99)
%Y:四位显示年号
%#c:显示时间 如:Tuesday, March 14, 1995, 12:41:29
%#x:显示时间 如:Tuesday, March 14, 1995
具体的其他参考请查看MSDN上面的说明;
CTime time = CTime::GetCurrentTime(); ///构造CTime对象
int m_nYear = time.GetYear(); ///年
int m_nMonth = time.GetMonth(); ///月
int m_nDay = time.GetDay(); ///日
int m_nHour = time.GetHour(); ///小时
int m_nMinute = time.GetMinute(); ///分钟
int m_nSecond = time.GetSecond(); ///秒
OF LaUeM_M
我们还可以用CTime::Format函数将CTime对象转换为字符串对象
例如: 5ay~J00O E
CString m_strTime = time.Format("%Y-%m-%d %H:%M:%S");
运行结果:m_strTime为 2001-8-1 12:11:05
二、使用GetSystemTime()这个API函数得到系统时间
SYSTEMTIME ti;
GetSystemTime(&ti);
////我们可以通过读取SYSTEMTIME结构体成员直接得到时间
typedef struct _SYSTEMTIME
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
一、使用MFC的CTime类来得到时间:
CTime必须调用赋值函数,使用其静态函数来初始化
例如:
CTime time=CTime::GetCurrentTime();
这样就可以直接调用time的内部方法得到你想要的当前的时间了。
二、使用MFC的COleDateTime来得到时间:
同上一样,使用MFC 的COleDataTime来处理当前系统的时间也需要首先使用其静态函数来初始化
例如:
COleDataTime time=COleDataTime::GetCurrentTime();
这样之后就可以直接调用time的所有方法了。
针对上面两种MFC的调用方法,MFC帮他们封装好了显示格式的函数,并且能够直接返回CString的格式。同样,也可以自己指定显示格式,具体的显示情况如下%a:显示星期英文的前面几个字母
%A:显示星期的全部英文名称
%b:显示月份英文的前面几个字母
%B:显示月份的全部英文名称
%c:以百分号的形式显示日期时间如:06/02/25/ 01:13:57
%d:显示月份的序号(01 – 31)
%H:显示时间24小时制(00 – 23)
%I:显示时间12小时制(01 – 12)
%j:显示当前是一年中的第几天(001 – 366)
%m:显示月份序号(01 – 12)
%M:显示分钟(00 – 59)
%p:显示当前时间是上午还是下午 A.M./P.M.
%S:显示秒钟(00 – 59)
%U:显示当前是一年中的第几周(00 – 53)
%w:显示星期的序号(0 – 6; 星期日为 0)
%W:显示当前是一年中的第几周(00 – 53)
%x:以百分号的形式显示日期 如:06/02/25/
%X:以冒号的形式显示时间 如:01:12:45
%y:两位显示年号(00 – 99)
%Y:四位显示年号
%#c:显示时间 如:Tuesday, March 14, 1995, 12:41:29
%#x:显示时间 如:Tuesday, March 14, 1995
具体的其他参考请查看MSDN上面的说明;
相关文章推荐
- MFC CTime
- MFC控件(10): Date Time Picker
- MFC 可不可以用CTime 代替 COleDataTIme?
- 猎豹MFC--DataTimePicker日期时间选择控件CDatatimeCtrl CTime CTimeSpan时间间隔
- mfc timecore.cpp 34问题
- MFC About Time
- [MFC]两个GetCurrentTime()的区别
- MFC控件(10): Date Time Picker
- MFC时间CTime/SYSTEMTIME/COleDateTime/time_t
- MFC控件: Date Time Picker
- c++模拟MFC中运行时类型识别(RTTI)(Run-Time Type Identification)
- Windows MFC Time Functions
- MFC时间CTime/SYSTEMTIME/COleDateTime/time_t
- MFC中的OnTime
- MFC CTime 类
- MFC Date Time Picker的使用
- MFC时间控件CDataTimeCtrl使用
- MFC API——》GetCurrentTime ()
- MFC开发遇到的异常Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call
- When the C Run-Time (CRT) library and Microsoft Foundation Class (MFC) libraries are linked in the w