2

我将日期存储在 MSSQL 数据库中的 datetime 中。在我的 C++ 应用程序中,这些日期从数据库中提取并存储在 CString 中。

我正在尝试使用 COleDateTime 的 ParseDateTime() 以良好的格式显示这些日期。但是我发现它们以美国格式(MM/DD/YYYY)显示,并按此进行排序。我希望它们以英国格式 (MM/DD/YYYY) 显示。我尝试了下面的代码没有区别:

codt.ParseDateTime(sqlresults.GetItem(_T("date"),l),0,MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_UK));

谢谢!

4

1 回答 1

1

ParseDateTime函数用于读取提供的值 - 在您的情况下,您从数据库中获取它并设置 COleDateTime 对象的内部表示。

您不是在使用此方法,而是在使用COleDateTime::Format方法。

codt.ParseDateTime(
    sqlresults.GetItem(_T("date"),l),
    0,
    MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
CString dateAsUkString = codt.Format(_T("%d/%m/%Y"));
// display the dateAsUkString string in your view
于 2014-02-12T09:20:22.247 回答