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

C++ 有什么时间函数,能做加减演算

2013-12-19 
C++ 有什么时间函数,能做加减运算?比如现在 是 17:48:56.232 ,比如能否运算 加上78秒 956 毫秒后的时间是

C++ 有什么时间函数,能做加减运算?
比如现在 是 17:48:56.232 ,比如能否运算 加上78秒 956 毫秒后的时间是多少?
[解决办法]
看什么系统吧。
windows的话,可以先把时间转成64位步进时间,加上你的时间偏移量后再转回来。
GetLocalTime
SystemTimeToFileTime
FileTimeToSystemTime
这3个API,自己查查
[解决办法]

//比如现在是17:48:56.232,加上78秒956毫秒后的时间是多少?
#include <stdio.h>
#include <windows.h>
char s[]="17:48:56.232";
char *HHMMSSmss_add_SecondsMilliseconds(char *HHMMSSmss,int Seconds,int Milliseconds) {
    SYSTEMTIME st;
    FILETIME ft;
    static char t[13];

    GetLocalTime(&st);
    sscanf(HHMMSSmss,"%2d:%2d:%2d.%3d",&st.wHour,&st.wMinute,&st.wSecond,&st.wMilliseconds);
    SystemTimeToFileTime(&st,&ft);
    *(__int64 *)(&ft)=*(__int64 *)(&ft)+((__int64)Seconds*1000i64+(__int64)Milliseconds)*10000i64;
    FileTimeToSystemTime(&ft,&st);
    sprintf(t,"%02d:%02d:%02d.%03d",st.wHour,st.wMinute,st.wSecond,st.wMilliseconds);
    return t;
}
int main() {
    printf("%s+%d.%03d==%s\n",s,78,956,HHMMSSmss_add_SecondsMilliseconds(s,78,956));
    return 0;
}
//17:48:56.232+78.956==17:50:15.188
//

热点排行