首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

超麻烦时间类型处理函数解决方法

2012-02-07 
超麻烦时间类型处理函数现在我有这样一个字符串charbuf[]20:22:219现在我想先把它转换成时间类型对时间加

超麻烦时间类型处理函数
现在我有这样一个字符串
char   buf[]   =   20:22:219

现在我想先把它转换成时间类型
对时间加半小时
再转换成char[]类型的

[解决办法]
int nHour;
int nMinute;
int nSecond;
char buf[] = "20:22:219 ";
sscanf( buf, "%0d:%0d:%0d ", &nHour, nMinute, nSecond );
COleDateTime t1(nHour, nMinute, nSecond);
COleDateTime t2(0, 30, 0);
t1 += t2;
sprintf( buf, "%0d:%0d:%0d ", t1.GetHour(), t1.GetMinute(), t1.GetSecond() );
[解决办法]
CTime time;
sscanf(buf, "%2ld:%2ld:%ld ", &time.nHour, &time.nMin, &time.nSec);

time.nMin += 30;
if(time.nMin> =60)
{
time.nHour++;
time.nMin-=60;
}
sprintf(buf, "%02ld:%02ld:%ld ", time.nHour, time.nMin, time.nSec);
[解决办法]
具体问题具体回答
int nHour;
int nMinute;
int nSecond;
char buf[] = "20:22:21 ";
sscanf(buf, "%d:%d:%d ", &nHour, &nMinute, &nSecond );
nMinute += 30;
sprintf(buf, "%d:%d:%d ", nHour, nMinute, nSecond);

其他
int nHour;
int nMinute;
int nSecond;
char buf[] = your_time;
sscanf(buf, "%d:%d:%d ", &nHour, &nMinute, &nSecond );
nMinute += 30;
if (nMinute > = 60)
{
nHour+=1;
nMinute%=60;
if (nHour > = 24) nHour%=24;
}
sprintf(buf, "%d:%d:%d ", nHour, nMinute, nSecond);

热点排行