大家好,今天来为大家分享mfc获取当前时间的一些知识点,和mfc获取了可执行文件路径的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
本文目录
一、如何获取当前系统时间
1、一、使用MFC的CTime类来得到时间:
2、 CTime必须调用赋值函数,使用其静态函数来初始化
3、 CTime time=CTime::GetCurrentTime();
4、这样就可以直接调用time的内部 *** 得到你想要的当前的时间了。
5、二、使用MFC的COleDateTime来得到时间:
6、同上一样,使用MFC的COleDataTime来处理当前系统的时间也需要首先使用其静态函数来初始化
7、 COleDataTime time=COleDataTime::GetCurrentTime();
8、这样之后就可以直接调用time的所有 *** 了。
9、针对上面两种MFC的调用 *** ,MFC帮他们封装好了显示格式的函数,并且能够直接返回CString的格式。同样,也可以自己指定显示格式,具体的显示情况如下%a:显示星期英文的前面几个字母
10、%b:显示月份英文的前面几个字母
11、%c:以百分号的形式显示日期时间如:06/02/25/ 01:13:57
12、%j:显示当前是一年中的第几天(001– 366)
13、%p:显示当前时间是上午还是下午 A.M./P.M.
14、%U:显示当前是一年中的第几周(00– 53)
15、%w:显示星期的序号(0– 6;星期日为 0)
16、%W:显示当前是一年中的第几周(00– 53)
17、%x:以百分号的形式显示日期如:06/02/25/
18、%X:以冒号的形式显示时间如:01:12:45
19、%#c:显示时间如:Tuesday, March 14, 1995, 12:41:29
20、%#x:显示时间如:Tuesday, March 14, 1995
21、具体的其他参考请查看MSDN上面的说明;
22、三、使用API函数GetLocalTime()得到当前系统的时间:
23、然后得到SYSTEMTIME结构中的日期时间参数;
24、注意:GetSystemTime得到的时间结构只不过是UTC格式的,需要转化为本地的格式
二、mfc编程怎么可以在状态栏时时显示系统时间
1、在MFC框架下,单文档和多文档编程默认有状态栏(对话框需要自己创建状态栏),在文档视图程序中显示时间,需要在框架窗口(CMainFrame)下处理,具体步骤如下:
2、在状态栏中增加显示时间的区块:首先到ResourceView中编辑String Table,增加IDS_TIMER(时间),然后在CMainFrame中修改indicators数组,插入IDS_TIMER,插入的位置,即为显示的位置。(添加字符串必须将字符串说明也写上,不然无法新建);
3、在CMainFrame的OnCreate函数末尾添加SetTimer(1,1000,NULL);语句;
4、在CMainFrame中增加WM_TIMER消息响应函数OnTimer,并在该定时器函数中增加如下代码:
5、CTimet=CTime::GetCurrentTime();//获得当前的系统时间
6、CStringstr=t.Format("%H:%M:%S");//格式可以参考MSDN中的strftime函数
7、intindex==m_wndStatusBar.CommandToIndex(IDS_TIMER);
8、//此处也可以直接输入IDS_TIMER在indicators数组中从0开始的序号。
9、m_wndStatusBar.SetPaneText(index,str);
状态栏显示宽度默认为IDS_TIMER字符串的宽度,如果需要动态设置,可以使用SetPaneInfo函数。
10、状态栏显示宽度默认为IDS_TIMER字符串的宽度,如果需要动态设置,可以使用SetPaneInfo函数。
11、在对话框程序中,因为对话框没有默认状态栏,需要手动创建一个,其它代码大致思路相同,都是在定时器中获取时间、格式化为字符串,并将字符串设置为状态栏文本。创建状态栏大致代码如下:
12、HWNDStatu;//在对话框类头文件中,设置为类成员变量
13、statu=CreateStatusWindow(WS_CHILD|WS_VISIBLE,"显示系统时间",this->m_hWnd,IDI_ICON_LOGO);
三、C语言怎样获取系统当前的时间并把它保存到定义的变量中
1、C语言中读取系统时间的函数为time(),其函数原型为:
2、time_t就是long,函数返回从1970年1月1日(MFC是1899年12月31日)0时0分0秒,到现在的的秒数。
3、C语言还提供了将秒数转换成相应的时间格式的函数:
4、char* ctime(const time_t*timer);//将日历时间转换成本地时间,返回转换后的字符串指针可定义字符串或是字符指针来接收返回值
5、struct tm* gmtime(const time_t*timer);//将日历时间转化为世界标准时间(即格林尼治时间),返回结构体指针可定义struct tm*变量来接收结果
6、struct tm* localtime(const time_t* timer);//将日历时间转化为本地时间,返回结构体指针可定义struct tm*变量来接收结果
7、pc=ctime(&t);printf("ctime:%s",pc);
8、pt=localtime(&t);printf("year=%d",pt->tm_year+1900);
9、}
时间结构体struct tm说明:
10、inttm_sec;/*秒–取值区间为[0,59]*/
11、inttm_min;/*分-取值区间为[0,59]*/
12、inttm_hour;/*时-取值区间为[0,23]*/
13、inttm_mday;/*一个月中的日期-取值区间为[1,31]*/
14、inttm_mon;/*月份(从一月开始,0代表一月)-取值区间为[0,11]*/
15、inttm_year;/*年份,其值等于实际年份减去1900*/
16、inttm_wday;/*星期–取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推*/
17、inttm_yday;/*从每年的1月1日开始的天数–取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推*/
18、inttm_isdst;/*夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
四、c语言获取系统当前时间的函数,求讲解
1、C语言中读取系统时间的函数为time(),其函数原型为:
time_t就是long,函数返回从1970年1月1日(MFC是1899年12月31日)0时0分0秒,到现在的的秒数。
2、C语言还提供了将秒数转换成相应的时间格式的函数:
char* ctime(const time_t*timer);//将日历时间转换成本地时间,返回转换后的字符串指针可定义字符串或是字符指针来接收返回值
struct tm* gmtime(const time_t*timer);//将日历时间转化为世界标准时间(即格林尼治时间),返回结构体指针可定义struct tm*变量来接收结果
struct tm* localtime(const time_t* timer);//将日历时间转化为本地时间,返回结构体指针可定义struct tm*变量来接收结果
pc=ctime(&t); printf("ctime:%s", pc);
pt=localtime(&t); printf("year=%d", pt->tm_year+1900);
int tm_sec;/*秒–取值区间为[0,59]*/
int tm_min;/*分-取值区间为[0,59]*/
int tm_hour;/*时-取值区间为[0,23]*/
int tm_mday;/*一个月中的日期-取值区间为[1,31]*/
int tm_mon;/*月份(从一月开始,0代表一月)-取值区间为[0,11]*/
int tm_year;/*年份,其值等于实际年份减去1900*/
int tm_wday;/*星期–取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推*/
int tm_yday;/*从每年的1月1日开始的天数–取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推*/
int tm_isdst;/*夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
五、VC++ MFC编程,如何获取当前系统时间
str=tm.Format("现在时间是%Y年%m月%d日%X");
MessageBox(NULL,str,NULL,MB_OK);
CTime,CString共同用的头文件为“afx.h”,
CTime类可以提取系统的当前时间函数GetCurrentTime(),并且可以通过Format *** 转换成CString,如下例
CTime tmSCan= CTime::GetCurrentTime();
CString szTime= tmScan.Format("'%Y-%m-%d%H:%M:%S'");
2、得到系统时间日期(使用GetLocalTime)
strDate.Format("M----",st.wYear,st.wMonth,st.wDay);
strTime.Format("-:-:-",st.wHour,st.wMinute,st.wSecond);
利用GetLocalTime函数,获取系统当前时间,并将获得的值放在SYSTEMTIME结构中,
同样的也可以使用Format *** ,不过这里使用的是CString类的Format ***
time.Format("M-d-d d:d:d", st.wYear.....);
3、使用GetTickCount//获取系统运行时间,也可以实现对程序的运行时间的计算
//longt1=GetTickCount();//程序段开始前取得系统运行时间(ms)
//longt2=GetTickCount();//程序段结束后取得系统运行时间(ms)
//str.Format("time:%dms",t2-t1);//前后之差即程序运行时间
longt=GetTickCount();//获取系统当前时间
str1.Format("系统已运行%d时",t/3600000);
}
解析:GetTickCount函数可以获取系统运行的时间,利用其差值可以获取程序的运行时间
解析:GetTickCount函数可以获取系统运行的时间,利用其差值可以获取程序的运行时间
mfc获取当前时间和mfc获取了可执行文件路径的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!