1

我想将 COleDateTime 格式化为 CString,所以我使用

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

由于我的程序是多语言的,GetCurrentLocaleID 为我提供了当前选择的 LCID(不是在 Windows 中,而是在我的程序中)。所以上面根据所选的用户语言为我提供了正确格式的字符串,但它始终采用“日期与年份 + 时间与秒”的格式。我认为这是根据 Windows 区域设置的日期的短格式和时间的长格式。

我能做些什么来获得字符串 - 年份只有 2 个数字?- 完全没有年份?- 没有秒的时间部分?

是否有任何开关COleDateTime::Format可以让我将年份作为 2 位数字,没有秒的时间,但保持由 ? 指定的字段顺序和分隔符LCID

当然,我不想更改任何 windows-regional-settings 来执行此操作,并且我不想使用任何固定的格式字符串,_T("%d.%m.%Y %H:%M:%S")因为这会破坏特定于语言的字段和分隔符的顺序。

感谢您的提示和回答

米查

4

0 回答 0