C ++ ParseDateTime() - SQL datetime作为英国日期

时间:2014-02-11 10:51:59

标签: c++ sql datetime coledatetime

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

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

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

谢谢!

1 个答案:

答案 0 :(得分: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