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 に答える