计算两个时间点的间隔天数

来源:互联网 发布:手机淘宝复制链接地址 编辑:程序博客网 时间:2024/05/17 08:04
void FileTimeToTime(FILETIME ft,time_t *t){ULONGLONG ll;ULARGE_INTEGER ui;ui.LowPart=ft.dwLowDateTime;ui.HighPart=ft.dwHighDateTime;ll=(ft.dwHighDateTime << 32) + ft.dwLowDateTime;*t=((LONGLONG)(ui.QuadPart - 116444736000000000) / 10000000);}

计算函数:

double  GetDiffDays(SYSTEMTIME t1,SYSTEMTIME t2){FILETIME fTime1;FILETIME fTime2;//t1.wDayOfWeek=4;time_t tt1;time_t tt2;SystemTimeToFileTime( &t1, &fTime1 );SystemTimeToFileTime( &t2, &fTime2 );FileTimeToTime( fTime1, &tt1 );FileTimeToTime( fTime2, &tt2 );time_t difftime = tt2 - tt1;double Differ= (double)difftime / (double)(24*3600L);return Differ;}
根据间隔天数求得SYSTEMTIME st1;
void GetSystemTimeByDays(SYSTEMTIME & st1,SYSTEMTIME st2,int ByDays){time_t difftime;FILETIME fTime1;FILETIME fTime2;time_t tt1;time_t tt2;SystemTimeToFileTime(&st2,&fTime2);FileTimeToTime(fTime2,&tt2);difftime=double(24*3600L)*ByDays;tt1=tt2-difftime;FILETIME ft;LONGLONG ll = Int32x32To64(tt1, 10000000) + 116444736000000000;ft.dwLowDateTime = (DWORD) ll;ft.dwHighDateTime = (DWORD)(ll >> 32);FileTimeToSystemTime( &ft, &st1 );}


原创粉丝点击