我必须在“扩展模式”中打印出一个日期,如下所示:
Thursday 02 August 2013
使用 COleDateTime 我没有问题,但我需要用当地语言打印这些东西,在我的情况下是意大利语。我在使用基本 SDK 命令的旧编译器中找到了此代码:
char lpDateStr[128], lpTimeStr[128];
SYSTEMTIME today;
WString str;
FileTimeToSystemTime( &IdUnicoK1, &today );
GetDateFormat( LOCALE_USER_DEFAULT, DATE_LONGDATE, &today, NULL, lpDateStr, sizeof(lpDateStr) );
GetTimeFormat( LOCALE_USER_DEFAULT, TIME_FORCE24HOURFORMAT, &today, NULL, lpTimeStr, sizeof(lpTimeStr) );
str.Sprintf( "%s, %s", lpDateStr, lpTimeStr );
在 MFC 中,根据 MSDN 是:
SYSTEMTIME stBuf;
CString strD;
CString strT;
CString strData;
FileTimeToSystemTime( &m_pK1->m_ftMyData, &stBuf );
strD = _T("dddd dd MMMM yyyy");
GetDateFormat( LOCALE_USER_DEFAULT, DATE_LONGDATE, &stBuf, NULL, strD.GetBuffer(), strD.GetLength() );
strT = _T("HH':'mm':'ss");
GetTimeFormat( LOCALE_USER_DEFAULT, TIME_FORCE24HOURFORMAT, &stBuf, NULL, strT.GetBuffer(), strT.GetLength() );
strData.Format( _T("%s, %s"), strD, strT );
但这导致我得到以下结果:
dddd dd MMMM yyyy, HH':'mm':'ss
我在哪里做错了?