找回密码
 注册会员
查看: 924|回复: 0

c++ 提取系统时间 问题

[复制链接]
发表于 2010-9-7 17:26:18 | 显示全部楼层 |阅读模式
<p>c++ 提取系统时间 问题</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:0 -</p>
<p>解决时间:2010-9-7 17:24</p>
<p>。。。</p>
<p>(char)asctime(timenow)[23] ;   // asctime 转换日期和时间为ASCII码</p>
<p>(int)asctime(timenow)[4] ;      //后面的456 是什么意思?上面的23是24小时的意思么?</p>
<p>(int)asctime(timenow)[5] ;</p>
<p>(int)asctime(timenow)[6] ;</p>
<p>day1 = (int)asctime(timenow)[8] ;             //这句什么意思</p>
<p>day2 = (int)asctime(timenow)[9] ;</p>
<p>day = (day1-48)*10+(day2-48) ;             这个公式什么意思? 什么作用</p>
<p>if(asctime(timenow)[4]==\'J\')               为什么是 J ? 什么意思?</p>
<p>{</p>
<p>if(asctime(timenow)[5]==\'a\')           为什么是 a ? 什么意思?</p>
<p>{</p>
<p>mon = 1 ;</p>
<p>}</p>
<p>if((asctime(timenow)[5]==\'u\') && (asctime(timenow)[6]==\'n\'))           什么意思??</p>
<p>{</p>
<p>mon = 6 ;</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>mon = 7 ;</p>
<p>}</p>
<p>}</p>
<p>if(asctime(timenow)[4]==\'A\')</p>
<p>{</p>
<p>if(asctime(timenow)[5]==\'u\')</p>
<p>{</p>
<p>mon = 8 ;</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>mon = 4 ;</p>
<p>}</p>
<p>}</p>
<p>if(asctime(timenow)[4]==\'M\')</p>
<p>{</p>
<p>if((asctime(timenow)[5]==\'a\')&&(asctime(timenow)[6]==\'y\'))</p>
<p>{</p>
<p>mon = 5 ;</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>mon = 3 ;</p>
<p>}</p>
<p>}</p>
<p>switch(asctime(timenow)[4])</p>
<p>{</p>
<p>case \'F\' :mon =2 ;break ;</p>
<p>case \'S\' :mon =9 ;break ;</p>
<p>case \'O\' :mon =10 ;break ;</p>
<p>case \'N\' :mon =11 ;break ;</p>
<p>case \'D\' :mon =12 ;break ;</p>
<p>}</p>
<p>year = (asctime(timenow)[20]-48)*1000+(asctime(timenow)[21]-48)*100+(asctime(timenow)[22]-48)*10+(asctime(timenow)[23]-48) ;</p>
<p>cout<<endl<<" 尊敬的用户,您好,现在是:"<<year<<"年"</p>
<p><<mon<<"月"</p>
<p><<day<<"日";</p>
<p>for(i=11;i<=18;i++)</p>
<p>cout<<asctime(timenow);</p>
<p>不是很懂这个提取时间的程序  希望各位高手指点 谢谢</p>
<p>问题补充:</p>
<p>最好每一句都解释解释~~  谢谢 可加悬赏</p>
<p>提问者: 09878906 - 一级</p>
<p>最佳答案</p>
<p>asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为:"Wed Jan 30 21:49:08 1993\n"(这个格式看你当地的设置)</p>
<p>就是说函数将timeptr变成char后,里面存的东西有一定格式。然后你再处理进行字符串解析。你可以通过debug把asctime()返回的char[23]看看里面各是什么值,看了就知道为什么要那么操作了。23不是24小时,是返回的char长度。4 5 6分别是数组下标,通过下标获取每个位置代表的东西。那个公式你看了char[23]里的东西后看看第8 9位置分别表示的什么。而且这不叫公式,别人的代码处理而已。自己设计的,这里应该是判断年份。J很明显是一月的意思。Jan是一月份的简称。他截取出那个表示月份的字符,然后进行比较,判断是几月。而4位置是J,5位置是a,表示一月(January),4是J,5是u,6是n,则表示June六月(June),如果不是,就只可能是七月Jul(July)。此外,5月May,3月March也要额外判断。4月April和八月August要一起判断,其他的2月February,9 September,10 October,11 November,12 December,直接判断第一个字母。</p>
<p>天啊。累死我了。经常听过加悬赏。 从没见过。</p>
<p>0</p>
<p>回答者:</p>
<p>ohyourdog - 四级   2010-9-7 16:40</p>
<p>我来评论>></p>
<p>提问者对于答案的评价:</p>
<p>足够及时 谢谢  我要走的路还很长啊</p>
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|文字版|手机版|小黑屋|襄阳城

GMT+8, 2025-5-12 23:40

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表