C ++ MFC获取当前日期和时间

时间:2011-08-02 19:39:35

标签: c++ date mfc time

在我的编程生涯中,我一直在用VB.NET编程。我有一个C ++项目提供给我,我需要做一些修改,我感到绝望地迷失和困惑。

它是C ++中的Visual Studio 2008 MFC项目。

已定义输出变量:

char szout[900];

下面这一行用于在输出前将值附加到输出变量:

strcpy(szout, "TextHere")

因此,我尝试过的搜索中的众多示例之一就是包含在顶部:

#include <windows.h>

然后是我的代码:

SYSTEMTIME st;
GetSystemTime(&st);
char myDate[20] = st;
CT2CA outputDate(myDate);
strcat(szout, outputDate);

由于某种原因,附加在szout上的变量必须是CT2CA类型,我不确定这是什么。

但是后来我在第二和第三行得到了以下错误(char myDate ......等等......)和(CT2CA输出等等......)

error C2440: 'initializing' : cannot convert from 'SYSTEMTIME' to 'char [20]'

error C2664: 'ATL::CW2AEX<>::CW2AEX(LPCWSTR) throw(...)' : cannot convert parameter 1 from 'char [20]' to 'LPCWSTR'

所以我会澄清,我是一个完整的新手,并会感谢任何和所有的帮助。

谢谢,

2 个答案:

答案 0 :(得分:24)

如果您使用的是MFC,为什么不:

// uses printf() format specifications for time
CString t = CTime::GetCurrentTime().Format("%H:%M");

// Or, if you have OLE Support
CString t = COleDateTime::GetCurrentTime().Format("%H:%M");

答案 1 :(得分:4)

在MFC中,以下代码用于MMDDYYYY格式的当前日期。

CTime t = CTime::GetCurrentTime();
CString s = t.Format("%m%d%Y");