我已经知道了第一个时间的年,月,日,小时,分,秒,和第二个时间的年,月,日,小时,分,秒,现在想求两个时间之间的秒数,请高手给个例子,不胜感激
解决方案 »
- 一个Activex的问题急急急!~
- 换系统后,原来装的MSDN要如何才能用呢?
- 请问怎么处理OnLButtonDblClk与OnLButtonDown冲突的?
- 菜鸟问个问题?
- 菜鸟疑惑!
- 请问高手,能不能给edit的一定部分加阴影。
- 有没有一位位图(1 bit per pixel)的放大函数
- m_ListCtrl.DeleteColumn(nCol)怎么不能删除干净?
- error C2679: binary '=' : no operator defined which takes a right-hand operand o
- 有关write函数的问题
- 大家有没有碰到过这样的问题,你是怎么解决的,关于弹出对话框的!
- CMDIChildWnd的继承问题求解? 在线等
CTimeSpan 放间隔
两个时间比较得到后者的对象
然后就可以计算时间了
CTime t1( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999
CTime t2( 1999, 3, 20, 22, 15, 0 ); // 10:15PM March 20, 1999
CTimeSpan ts = t2 - t1; // Subtract 2 CTimes
ASSERT( ts.GetTotalSeconds() == 86400L );
ASSERT( ( t1 + ts ) == t2 ); // Add a CTimeSpan to a CTime.
ASSERT( ( t2 - ts ) == t1 ); // Subtract a CTimeSpan from a Ctime.
CTime t2( 2004, 10, 19, 3, 16, 20 );
CTimeSpan ts = t2 - t1;
COleDateTimeSpan endtime = COleDateTime::GetCurrentTime() - starttime;
endtime.GetTotalSeconds();
endtime.GetTotalMinutes();
CTime t2(2004, 10, 19, 0, 0, 0);
CTimeSpan sp = t2 - t1;
TRACE("%ld", sp.GetTotalSeconds());这样就可以了, 得到秒数
bool CDownloadFTP::CheckFileTime(CTime FileTime)
{
CString sFileTime;
int nYear = FileTime.GetYear();
int nMon = FileTime.GetMonth();
int nDay = FileTime.GetDay();
int nHour = FileTime.GetHour();
int nMin = FileTime.GetMinute(); sFileTime.Format("%d%02d%02d%02d%02d", FileTime.GetYear(), FileTime.GetMonth(), FileTime.GetDay(), FileTime.GetHour(), FileTime.GetMinute());
__int64 nFileTime = _atoi64(sFileTime);
__int64 nOldFileTime = _atoi64(theApp.m_CurPublisherInfo.m_sFileTimeNewest);
if(nFileTime>nOldFileTime)
{
//TRACE0("big");
char buffer[13];
buffer[0]='\0';
_i64toa(nFileTime, buffer, 10);
buffer[12]='\0';
m_sCurFileTimeNewest = buffer;
return true;
}
else
{
return false;
}
}
bool CDownloadFTP::CheckFileTime(FILETIME ftWrite)
{
CString sFileTime;
SYSTEMTIME stCreate;
FILETIME ftLocal;
// Convert the last-write time to local time.
if (!FileTimeToLocalFileTime(&ftWrite, &ftLocal))
return FALSE; // Convert the local file time from UTC to system time.
FileTimeToSystemTime(&ftLocal, &stCreate); sFileTime.Format("%d%02d%02d%02d%02d", stCreate.wYear, stCreate.wMonth, stCreate.wDay, stCreate.wHour, stCreate.wMinute); //sFileTime.Format("%d%02d%02d%02d%02d", FileTime.GetYear(), FileTime.GetMonth(), FileTime.GetDay(), FileTime.GetHour(), FileTime.GetMinute());
__int64 nFileTime = _atoi64(sFileTime);
__int64 nOldFileTime = _atoi64(theApp.m_CurPublisherInfo.m_sFileTimeNewest);
if(nFileTime>nOldFileTime)
{
//TRACE0("big");
char buffer[13];
buffer[0]='\0';
_i64toa(nFileTime, buffer, 10);
buffer[12]='\0';
m_sCurFileTimeNewest = buffer;
return true;
}
else
{
return false;
}
}
当然,标准做法是用CTimSpan.
ttime1.tm_year = 2004 - 1900; //注意:以1900为基数
......
long duration = mktime(&ttime1) - mktime(&ttime2);
//时间差,以毫秒为单位!!
好多星星啊看的头晕呵呵