我想将COleDateTime格式化为CString,所以我使用
COleDateTime dt = GetMyDateTimeObj();
dt.Format(LOCALE_NOUSEROVERRIDE, GetCurrentLocaleID());
由于我的程序是多语言,GetCurrentLocaleID给了我当前选择的LCID(不是在Windows中,而是在我的程序中) . 所以上面给出了根据所选用户语言正确格式化的字符串,但它始终采用“与年同步的时间 - 秒”的格式 . 我认为这是一个日期的短格式和时间的长格式符合Windows区域设置 .
我能做些什么才能获得字符串 - 年份仅为2个数字? - 完全没有一年? - 没有秒的时间部分?
是否有任何切换到 COleDateTime::Format
,可以给我一年两位数,时间无秒,但保持 LCID
指定的fieldorder和分隔符?
当然我不想更改任何windows-regional-settings来执行此操作,我不想使用任何固定格式的字符串,如 _T("%d.%m.%Y %H:%M:%S")
,因为这会破坏语言特定的字段和分隔符顺序 .
感谢您的提示和答案
米莎