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")
поскольку это нарушит специфический для языка порядок полей и разделителей.
Спасибо за ваши советы и ответы
Миха