浏览 2047 次
锁定老帖子 主题:关于C的一个时间处理问题(vc6.0)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-24
最后修改:2009-12-24
自己估计二把刀吧,用了几个小时弄出个这样的函数,倒是功能实现了,可总觉得还有更好方法 先将个人拙见贴出,欢迎拍砖 String time_test(char hh[9]){ char hour[3];//存取系统已有的time[9]中的hh,一开始定义为hour[2],取值错误,汗颜 int ihour=0;//将取到的hour保存为整形以便做计算。 string shh;//为函数返回类型弄的,一开始返回hour 就是取不对值,汗 shh=""; *hour='\0'; sprintf(hour,"%.2s",hh); ihour=atoi(hour); ihour=ihour+3; gcvt((double)(ihour),2,hour); if(ihour==24) sprintf(hour,"%.2s","00"); if(ihour>24) ihour=ihour-24; if(ihour<10) { hour[1]=hour[0]; hour[0]='0'; } spirntf(shh,"%.2s",hour); return(shh); } 在打印中引用这个函数 …… sprintf(hour,"%.2s",time_test(time)); time[0]=hour[0]; time[1]=hour[1]; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-12-25
最后为啥弄那么复杂?
ihour=ihour+3; if(ihour>=24) ihour-=24; sprintf(shh,"%02d",ihour); return ssh; |
|
返回顶楼 | |
发表时间:2009-12-25
最后修改:2009-12-25
谢谢楼上,学习了
还有当<10 gcvt((double)(ihour),2,hour); 返回的是 类似“1.0”的串 |
|
返回顶楼 | |