MFC如何把获得系统当前的时间写入文档

这个只是获得时间。要把获得的时间保存起来... 这个只是获得时间。要把获得的时间保存起来 展开
 我来答
Frank7258
2011-01-04 · TA获得超过1503个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:552万
展开全部
容易理解的方法:

CTime类用于获得系统的时间,系统的时间是宴罩一个64位的整数,他桥陪记录从1970年1月1日到当前时间的秒数,获得该数值的方法是

CTime t_now = CTime::GetCurrentTime();
time_t t_sec_now = t_now.GetTime();

如果你需要从这个64位整数重新构造CTime对象,只需要调用其构造函数即可:
CTime some_time(t_sec_now);

这样你就可以通过
some_time.GetDay();
some_time.GetHour();
等一系列CTime的函数获得需要的信息。

现在你需要保存到文件里去,调用CFile类即可

CFile file;

if (file.Open(_T("somefile.dat"), CFile::modeCreate|CFile::modeWrite, NULL))
{
file.Write(&t_sec_now, sizeof(t_sec_now)); //写入二进制文件
file.Close();
}

读取就反过来,先打开文件,然后调用CFile::Read读取。

---------------------------------------------
若你理解序列化等内容,可以直接调用CTime的序列化功能保存CTime对象,读取的时候直接生成CTime对象即可。

CTime t_now = CTime::GetCurrentTime();
CFile file(_T("time.dat"), CFile::modeCreate|CFile::modeWrite);
CArchive ar(&file, CArchive::store);
t_now.Serialize64(ar);
ar.Close();
file.Close();

读取的时候以读的方式打开文件,CArchive以CArchive::load创建对象即可读取CTime对象。

以上代码省略了处理文件异常的内容,最好利用晌消闹try catch快和CFileException或者CArchiveException来处理文件打开或者读写可能产生的一场。
nlswlc
2011-01-04 · TA获得超过2068个赞
知道小有建树答主
回答量:779
采纳率:100%
帮助的人:637万
展开全部
void CAasDlg::OnButton1()
{
CTime t1 = CTime::GetCurrentTime();

CTime tm;
tm.GetDay();
tm.GetHour();
tm.GetMinute();
tm.GetSecond();

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式