MFC怎么设置系统时间

MFC怎么设置系统时间,第1张

使用MFC的CTime类来得到时间

CTime必须调用赋值函数,使用其静态函数来初始化 例如:

CTime time=CTime::GetCurrentTime();

这样就可以直接调用time的内部方法得到你想要的当前的时间了。

方法一,#include<timeh>

int main()

{

time_t timep;

struct tm p;

time (&timep);

p=gmtime(&timep);

printf("%d\n",p->tm_sec); /获取当前秒/

printf("%d\n",p->tm_min); /获取当前分/

printf("%d\n",8+p->tm_hour);/获取当前时,这里获取西方的时间,刚好相差八个小时/

printf("%d\n",p->tm_mday);/获取当前月份日数,范围是1-31/

printf("%d\n",1+p->tm_mon);/获取当前月份,范围是0-11,所以要加1/

printf("%d\n",1900+p->tm_year);/获取当前年份,从1900开始,所以要加1900/

printf("%d\n",p->tm_yday); /从今年1月1日算起至今的天数,范围为0-365/

}

方法二#include <stdioh>

#include <timeh>

int main ()

{

time_t t

struct tm  lt;    time (&t);//获取Unix时间戳。

lt = localtime (&t);//转为时间结构。

printf ( "%d/%d/%d %d:%d:%d\n",lt->tm_year+1900, lt->tm_mon, lt->tm_mday,

lt->tm_hour, lt->tm_min, lt->tm_sec);//输出结果

return 0;}

扩展资料

1、CTimeSpan类

如果想计算两段时间的差值,可以使用CTimeSpan类,具体使用方法如下:

CTime t1( 1999, 3, 19, 22, 15, 0 );

CTime t = CTime::GetCurrentTime();

CTimeSpan span=t-t1; //计算当前系统时间与时间t1的间隔

int iDay=spanGetDays(); //获取这段时间间隔共有多少天

int iHour=spanGetTotalHours(); //获取总共有多少小时

int iMin=spanGetTotalMinutes();//获取总共有多少分钟

int iSec=spanGetTotalSeconds();//获取总共有多少秒

2、timeb()函数

_timeb定义在SYS\TIMEBH,有四个fields

dstflag

millitm

time

timezone

void _ftime( struct _timeb timeptr );

struct _timeb timebuffer;

_ftime( &timebuffer );

参考资料来源:百度百科:time函数

1用SetTimer( )设置一个定时器, 间隔为1000毫秒

2在OnTimer中: 

    CTime t=CTime::GetCurrent();

    CString str;

    strFormat(_T("%d年%月%日-%d时:%d分:%秒",tGetYear(),tGetMonth(),tGetDay(),tGetMinite(),tGetSecond());

    SetDlgItemText(IDC_EDIT1,str);

昨天:

CTime m_Date = CTime::GetCurrentTime() - CTimeSpan( 1, 0, 0, 0 );

明天

CTime m_Date = CTime::GetCurrentTime() + CTimeSpan( 1, 0, 0, 0 );

CTimeSpan的第一个参数换成其他数值就可以计算若干天之前或之后的日期了。

用CDateTimeCtrl::GetTime成员函数来获取时间,共有以下三种形式:

BOOL GetTime(

COleDateTime& timeDest

) const;

DWORD GetTime(

CTime& timeDest

) const;

DWORD GetTime(

LPSYSTEMTIME pTimeDest

) const;

我一般用第2种,因为CTime可以与标准库中的时间函数互相传递数据,还可以调用CTime的成员函数Format转为你想要的时间格式表示的字符串。

在VC中,我们可以借助CTime时间类,获取系统当前日期

1获取系统当前日期

CTime t = CTime::GetCurrentTime(); //获取系统日期

//创建CTime类变量t,并将调用函数GetCurrentTime()的返回值赋给变量t

2获得当前日期和时间,并可以转化为 CString

CTime tm=CTime::GetCurrentTime(); CString str=tmFormat("%Y-%m-%d");//显示年月日

或者:CTime tm=CTime::GetCurrentTime()Format("%Y-%m-%d");//显示年月日

用cdatetimectrl::gettime成员函数来获取时间,共有以下三种形式:

bool

gettime(

coledatetime&

timedest

)

const;

dword

gettime(

ctime&

timedest

)

const;

dword

gettime(

lpsystemtime

ptimedest

)

const;

我一般用第2种,因为ctime可以与标准库中的时间函数互相传递数据,还可以调用ctime的成员函数format转为你想要的时间格式表示的字符串。

以上就是关于MFC怎么设置系统时间全部的内容,包括:MFC怎么设置系统时间、用c语言如何获取系统当前时间的函数、mfc 的编辑框中怎么显示系统的当前时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9433102.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存