Format格式输出日期问题

yijiuyichen 2010-07-06 10:56:09
我用MFC做的个小程序,按复选框 在m-edit1中显示日期(想按年月日输出),可总有问题,请教高手解决!
if (m_date==TRUE)
{
CTime cdate;
cdate=CTime::GetCurrentTime();
CString now=cdate.Format("%Y-%M-%D");
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel(now);
}


CString now=cdate.Format("%Y-%M-%D");这句到底怎么用呀?查半天资料都没搞好郁闷了
...全文
224 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
muzizongheng 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 yijiuyichen 的回复:]
我用MFC做的个小程序,按复选框 在m-edit1中显示日期(想按年月日输出),可总有问题,请教高手解决!
if (m_date==TRUE)
{
CTime cdate;
cdate=CTime::GetCurrentTime();
CString now=cdate.Format("%Y-%M-%D");
m_edit1.SetSel(0,-1);
……
[/Quote]

应该小写的m, 大写的M是Minute也就是分钟
Eleven 2010-07-07
  • 打赏
  • 举报
回复
看MSDN啊,上面解释的不是很清楚吗?
kemee 2010-07-07
  • 打赏
  • 举报
回复
好吧。。。我贴中文的

%a —— 星期(缩写英文),如Fri;

%A —— 星期(全写英文),如Friday

%b —— 月份(缩写英文),如Oct

%B —— 月份(全写英文),如 October

%c —— 月/日/年 时:分:秒,如 10/13 /06 19:17:17

%d —— 日期(1 ~ 31)

%H —— 时(24小时制)(0 ~ 23)

%I —— 时(12小时制)(0 ~ 12)

%j —— 一年当中的第几天,(1 ~ 366)

%m —— 月份(数字 1 ~ 12)

%M —— 分(0 ~ 59)

%p —— 12小时中的A M/PM指示,或者AM,或者PM

%S —— 秒(0 ~ 59)

%U —— 一年中的第几周,星期日作为每周的第一天(0 ~ 53)

%w —— 星期(数字表示,0 ~ 6,0代表星期日)

%W —— 一年中的第几周,星期一作为每周的第一天(0 ~ 53)

%x —— 月/ 日/年,%c的前半段

%X —— 时/分/秒,%c的后半段

%y —— 年份(不带世纪,如 06)

%Y —— 年份(带世纪,如 2006)

%z,%Z —— 时区名称或缩写,如果时区未知,此字符为空,如“中国标准时间”
向立天 2010-07-07
  • 打赏
  • 举报
回复
yijiuyichen 2010-07-07
  • 打赏
  • 举报
回复
谢谢各位了已经解决了 2楼正解 哪儿找到Format的参数呀?
Yanger_xy 2010-07-07
  • 打赏
  • 举报
回复
CString now=cdate.Format("%Y-%M-%D");这句到底怎么用呀?查半天资料都没搞好郁闷了

调试一下看看tm的值.
alangsos 2010-07-07
  • 打赏
  • 举报
回复
如果再搞不懂就要
CString str;
str.Format("%d-%02d-%02d",cdate.GetYear(),cdate.GetMonth(),cdate.GetDay());
zwfgdlc 2010-07-06
  • 打赏
  • 举报
回复

%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

As in the printf function, the # flag may prefix any formatting code. In that case, the meaning of the format code is changed as follows.
0="0" 2010-07-06
  • 打赏
  • 举报
回复
获得当前日期和时间

CTime tm=CTime::GetCurrentTime();
CString str=tm.Format("%Y-%m-%d");
就是这样子的啊.

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧