CTime time;
time=CTime::GetCurrentTime();
TimeStr=time.Format("%m月%d日%H:%M");
很奇怪是的上面那段代码我在一个对话框程序中运行时没有问题的。。。在多文档的MFC中运行就有问题。。。format返回的是空串。但是跟踪的时候可以获得time的值,最诡异的是这样是可以的:
CTime time;
time=CTime::GetCurrentTime();
TimeStr=time.Format("%m,%d,%H:%M");
MessageBox(TimeStr,NULL,MB_OK);
难道是中文的问题?
CTime::Format 的 Unicode版居然不支持中文的格式化串
修改项目属性里的配置属性的常规改成多字节。。。出现一个随机错误:
general error c101008a: Failed to save the updated manifest to the file
重生生成整个项目解决。
-
%a
- Abbreviated weekday name(星期的简称) %A
-
Full weekday name (星期的全称)
%b
-
Abbreviated month name (月份的简称)
%B
-
Full month name (月份的全称)
%c
- Date and time representation appropriate for locale %d
- Day of month as decimal number (01 – 31) %H
- Hour in 24-hour format (00 – 23) %I
- Hour in 12-hour format (01 – 12) %j
- Day of year as decimal number (001 – 366) %m
- Month as decimal number (01 – 12) %M
- Minute as decimal number (00 – 59) %p
- Current locale's A.M./P.M. indicator for 12-hour clock %S
- Second as decimal number (00 – 59) %U
- Week of year as decimal number, with Sunday as first day of week (00 – 53) %w
- Weekday as decimal number (0 – 6; Sunday is 0) %W
- Week of year as decimal number, with Monday as first day of week (00 – 53) %x
- Date representation for current locale %X
- Time representation for current locale %y
- Year without century, as decimal number (00 – 99) %Y
- Year with century, as decimal number %z, %Z
- Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown %%
- Percent sign