VC中获得当前日期和时间
2014-11-27 21:59
351 查看
获得当前日期和时间
CTime tm=CTime::GetCurrentTime();
CString str=tm.Format("%Y-%m-%d");
在VC中,我们可以借助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为星期六
如果想计算两段时间的差值,可以使用CTimeSpan类,具体使用方法如下:
CTime t1( 1999, 3, 19, 22, 15, 0 );
CTime t = CTime::GetCurrentTime();
CTimeSpan span=t-t1; //计算当前系统时间与时间t1的间隔
int iDay=span.GetDays(); //获取这段时间间隔共有多少天
int iHour=span.GetTotalHours(); //获取总共有多少小时
int iMin=span.GetTotalMinutes();//获取总共有多少分钟
int iSec=span.GetTotalSeconds();//获取总共有多少秒
设置计时器
定义TIMER ID
#define TIMERID_JISUANFANGSHI 2
在适当的地方设置时钟,需要开始其作用的地方;
SetTimer(TIMERID_JISUANFANGSHI,200,NULL);
在不需要的时候销毁掉时钟
KillTimer(TIMERID_JISUANFANGSHI);
消息映射
void CJisuan::OnTimer(UINT nIDEvent)
{}
VC++中其实还是通过调用它自带的CTime类来完成的获取当前系统时间的,我们做一个小程序来了解这个过程吧!对话框里只有两个显示框和两个按钮,点下按钮显示当前时间。就这么一个小程序。
(1)建立应用程序外壳
创建一个新的AppWizard项目,命名为shiyan,选择Dialog
based;其他都选用默认属性,单击Finish完成生成应用程序的步骤。进入对话框界面以后,按下图所示布置显示框和功能按钮。
(2)设置参数
其中上面的显示文本框设为CString型,命名为m_show,ID号为IDC_show。
下面的显示文本框设为CString型,命名为m_show1,ID号为IDC_show1。
(3)编译程序
start键程序:
void CDate1Dlg::Onstart()
{
//count=0;
SetTimer(1,1000,NULL);
// TODO: Add your control notification handler code here
}
stop键程序:
void CDate1Dlg::Onstop()
{
KillTimer(1);
// TODO: Add your control notification handler code here
}
(4)增加计时器控件
View -> ClassWizard -> MessageMaps -> CUse progressDlg,加入WM_TIMER函数,编辑程序:
void CDate1Dlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
// count++;
UpdateData(1);
CTime mtime=CTime::GetCurrentTime();//获取当前时间
char i;
CString w;
i=char (mtime.GetDayOfWeek());
//获取当前时间的天数是这个星期的第几天,这里要注意了,系统上默认的一个星期的第一天是星期日,最后一天是周六,大家千万不要搞错了。我也是试了才知道的。
switch(i)//将数字状换成字符就不会出现星期7这种情况了
{
case 2:
{w="一";break;}
case 3:
{w="二";break;}
case 4:
{w="三";break;}
case 5:
{w="四";break;}
case 6:
{w="五";break;}
case 7:
{w="六";break;}
case 1:
{w="日";break;}
}
int a,b,c,d,e,f;
a=int(mtime.GetSecond())/10;//获取当前时间的秒数
b=int(mtime.GetSecond())%10;
c=int(mtime.GetMinute())/10;//获取当前时间的分数
d=int(mtime.GetMinute())%10;
e=int(mtime.GetHour())/10;//获取当前时间的小时数
f=int(mtime.GetHour())%10;
m_show.Format("今天是%d年%d月%d日 星期%s ",mtime.GetYear(),mtime.GetMonth(),mtime.GetDay(),w);
m_show1.Format("现在时间是 %d%d:%d%d:%d%d",e,f,c,d,a,b);
}
UpdateData(0);
// TODO: Add your message handler code here and/or call default
CDialog::OnTimer(nIDEvent);
}
之后编译运行一下就行了,效果见下图:
编写了另外一个简单的获取时间方式:
[cpp]
view plaincopyprint?
void CMy1Dlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default if (nIDEvent==1) { CTime mtime=CTime::GetCurrentTime(); m_strtime=mtime.Format("今天是%Y年%m月%d日 %X"); //m_strtime是和编辑框关联的string类型变量 UpdateData(FALSE); } CDialog::OnTimer(nIDEvent); } void CMy1Dlg::OnButton1() { // TODO: Add your control notification handler code here SetTimer(1,1000,NULL); } void CMy1Dlg::OnButton2() { // TODO: Add your control notification handler code here KillTimer(1); }
/article/9369285.html
CTime tm=CTime::GetCurrentTime();
CString str=tm.Format("%Y-%m-%d");
在VC中,我们可以借助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为星期六
如果想计算两段时间的差值,可以使用CTimeSpan类,具体使用方法如下:
CTime t1( 1999, 3, 19, 22, 15, 0 );
CTime t = CTime::GetCurrentTime();
CTimeSpan span=t-t1; //计算当前系统时间与时间t1的间隔
int iDay=span.GetDays(); //获取这段时间间隔共有多少天
int iHour=span.GetTotalHours(); //获取总共有多少小时
int iMin=span.GetTotalMinutes();//获取总共有多少分钟
int iSec=span.GetTotalSeconds();//获取总共有多少秒
设置计时器
定义TIMER ID
#define TIMERID_JISUANFANGSHI 2
在适当的地方设置时钟,需要开始其作用的地方;
SetTimer(TIMERID_JISUANFANGSHI,200,NULL);
在不需要的时候销毁掉时钟
KillTimer(TIMERID_JISUANFANGSHI);
消息映射
void CJisuan::OnTimer(UINT nIDEvent)
{}
VC++中其实还是通过调用它自带的CTime类来完成的获取当前系统时间的,我们做一个小程序来了解这个过程吧!对话框里只有两个显示框和两个按钮,点下按钮显示当前时间。就这么一个小程序。
(1)建立应用程序外壳
创建一个新的AppWizard项目,命名为shiyan,选择Dialog
based;其他都选用默认属性,单击Finish完成生成应用程序的步骤。进入对话框界面以后,按下图所示布置显示框和功能按钮。
(2)设置参数
其中上面的显示文本框设为CString型,命名为m_show,ID号为IDC_show。
下面的显示文本框设为CString型,命名为m_show1,ID号为IDC_show1。
(3)编译程序
start键程序:
void CDate1Dlg::Onstart()
{
//count=0;
SetTimer(1,1000,NULL);
// TODO: Add your control notification handler code here
}
stop键程序:
void CDate1Dlg::Onstop()
{
KillTimer(1);
// TODO: Add your control notification handler code here
}
(4)增加计时器控件
View -> ClassWizard -> MessageMaps -> CUse progressDlg,加入WM_TIMER函数,编辑程序:
void CDate1Dlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
// count++;
UpdateData(1);
CTime mtime=CTime::GetCurrentTime();//获取当前时间
char i;
CString w;
i=char (mtime.GetDayOfWeek());
//获取当前时间的天数是这个星期的第几天,这里要注意了,系统上默认的一个星期的第一天是星期日,最后一天是周六,大家千万不要搞错了。我也是试了才知道的。
switch(i)//将数字状换成字符就不会出现星期7这种情况了
{
case 2:
{w="一";break;}
case 3:
{w="二";break;}
case 4:
{w="三";break;}
case 5:
{w="四";break;}
case 6:
{w="五";break;}
case 7:
{w="六";break;}
case 1:
{w="日";break;}
}
int a,b,c,d,e,f;
a=int(mtime.GetSecond())/10;//获取当前时间的秒数
b=int(mtime.GetSecond())%10;
c=int(mtime.GetMinute())/10;//获取当前时间的分数
d=int(mtime.GetMinute())%10;
e=int(mtime.GetHour())/10;//获取当前时间的小时数
f=int(mtime.GetHour())%10;
m_show.Format("今天是%d年%d月%d日 星期%s ",mtime.GetYear(),mtime.GetMonth(),mtime.GetDay(),w);
m_show1.Format("现在时间是 %d%d:%d%d:%d%d",e,f,c,d,a,b);
}
UpdateData(0);
// TODO: Add your message handler code here and/or call default
CDialog::OnTimer(nIDEvent);
}
之后编译运行一下就行了,效果见下图:
编写了另外一个简单的获取时间方式:
[cpp]
view plaincopyprint?
void CMy1Dlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default if (nIDEvent==1) { CTime mtime=CTime::GetCurrentTime(); m_strtime=mtime.Format("今天是%Y年%m月%d日 %X"); //m_strtime是和编辑框关联的string类型变量 UpdateData(FALSE); } CDialog::OnTimer(nIDEvent); } void CMy1Dlg::OnButton1() { // TODO: Add your control notification handler code here SetTimer(1,1000,NULL); } void CMy1Dlg::OnButton2() { // TODO: Add your control notification handler code here KillTimer(1); }
void CMy1Dlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default if (nIDEvent==1) { CTime mtime=CTime::GetCurrentTime(); m_strtime=mtime.Format("今天是%Y年%m月%d日 %X"); //m_strtime是和编辑框关联的string类型变量 UpdateData(FALSE); } CDialog::OnTimer(nIDEvent); } void CMy1Dlg::OnButton1() { // TODO: Add your control notification handler code here SetTimer(1,1000,NULL); } void CMy1Dlg::OnButton2() { // TODO: Add your control notification handler code here KillTimer(1); }
/article/9369285.html
相关文章推荐
- VC下写入txt的一点总结&&如何获得当前应用程序的目录&&获得系统日期时间
- VC++获得当前系统日期和时间问题汇总
- VC++获得当前系统日期和时间问题汇总
- VC++获得当前系统日期和时间问题汇总
- VC中获得当前日期和时间
- VC中获得当前日期和时间
- SQL获得当前的日期和时间与DB2 中操作日期和时间
- VC中得到当前系统的时间和日期
- js中当前时间的获得以及日期格式的转换
- VC++获得当前系统时间的几种方案(转)
- 【VC++】VC++获得当前系统时间
- VC++获得当前系统时间的几种方案
- js获得当前日期时间
- VC++得到当前系统时间日期 GetSystemTime()
- JAVA获得当前日期时间字符串
- MySQL 获得当前日期时间的函数小结
- vc获得当前时间
- vc获得日期时间
- [VC++]VC中如何获得当前系统时间
- VC++获得当前系统时间的几种方案