ColeDateTime :: Формат разных языков

Я хочу отформатировать COleDateTime как CString, поэтому я использую

COleDateTime dt = GetMyDateTimeObj();
dt.Format(LOCALE_NOUSEROVERRIDE, GetCurrentLocaleID());

Так как моя программа мультиязычна, GetCurrentLocaleID дает мне выбранный в настоящее время LCID (не в окнах, а в моей программе).
Таким образом, приведенное выше дает мне правильно отформатированную строку в соответствии с выбранным языком пользователя, но всегда в формате «дата с годом + время с секундами». Я думаю, что это короткий формат даты и длинный формат времени в соответствии с региональными настройками Windows.

Что я могу сделать, чтобы получить строку с
— год как всего 2 числа?
— полностью без года?
— часть времени без секунд?

Есть ли переключатели на COleDateTime::Format это может дать мне год-как-2-цифры, время без секунд, но сохраняет полевой порядок и разделители, указанные в LCID?

Конечно, я не хочу изменять какие-либо региональные настройки Windows, чтобы сделать это, и я не хочу использовать какие-либо фиксированные строки формата, такие как _T("%d.%m.%Y %H:%M:%S") поскольку это нарушит специфический для языка порядок полей и разделителей.

Спасибо за ваши советы и ответы

Миха

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector