如何计算时间差???

请问用什么方法可以更好的计算时间差,我现在还没有思路噢!例如:13:34:32到第二天12;23;34的时间差。请问一下,有什么更好的方法,不用死算!!!谢啦!
哈哈,其实楼下的回答我也想到过,不过计算起来挺麻烦的!其实我在用c#写一个程序,其中用到计算两个时间的时间差,我想到很多种方法,但这些方法要写成代码的话挺不现实的,所以我想问问大家的思路!在此先感谢楼下的回答啦,请问还有没有更好的方法啊,就是像那些可以用一个公式就能表达出来的!感谢啦!

后面的时间加上(24小时×相差的天数),再减去前面的时间。特别注意时间的进位。
具体到楼主的问题,就是:
(12:23:34+24:00:00)-13:34:32
=(12+24):(23+00):(34+00)-13:34:32
=36:23:34-13:34:32
=(36-13):(23-34):(34-32)
=23:(-11):02
=22:(60-11):02
=22:49:02
时差是22小时49分2秒。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-31
方法一:
//在windows下实现(毫秒级):
DWORD
dwStart
=
GetTickCount();
//取windows启动到现在的流逝时间(毫秒)
Run_Your_Func(...);
//运行你的函数
DWORD
dwUsed
=
GetTickCount()
-
dwStart;
//计算该函数所消耗的时间
方法二:
比微秒还准依赖于电脑处理器!
class
CTimer
{
public:
CTimer()
{
QueryPerformanceFrequency(&m_Frequency);
Start();
}
void
Start()
{
QueryPerformanceCounter(&m_StartCount);
}
double
End()
{
LARGE_INTEGER
CurrentCount;
QueryPerformanceCounter(&CurrentCount);
return
double(CurrentCount.LowPart
-
m_StartCount.LowPart)
/
(double)m_Frequency.LowPart;
}
void
ShowNow()
{
LARGE_INTEGER
CurrentCount;
QueryPerformanceCounter(&CurrentCount);
cout<<"Timer
Count
is:"<<double(CurrentCount.LowPart
-
m_StartCount.LowPart)
/
(double)m_Frequency.LowPart<<endl;
}
private:
LARGE_INTEGER
m_Frequency;
LARGE_INTEGER
m_StartCount;
};
下面程序,比如:
int
a;
for
(
int
i
=
0;
i
<
10000;,
i++
)
a++;
想测它的时间这样写:
CTimer
t;
int
a;
for
(
int
i
=
0;
i
<
10000;,
i++
)
a++;
cout<<"用时"<<t.end()<<"秒"<<endl;
方法三:
#include
"window.h"
#define
BEGIN_RECORD\
{\
long
____temp_begin_time___;\
____temp_begin_time___=::GetTickCount();
#define
END_RECORD(dtime)\
dtime=::GetTickCount()-____temp_begin_time___;\
}
用法:
long
tim;
BEGIN_RECORD
被测函数;
END_RECORD(tim);//tim就是所求的时间差!
第2个回答  2010-04-03
天,小时,分钟,秒
进制分别是:10, 24, 60, 60
所谓进制就是满多少进1,比如秒,就是满60进1到分钟上
按照这个思路可以很简单的算出(你可以用小学学习的竖式方法计算)
第3个回答  2020-02-05
先算到晚上12点,也就是24:00-22:38=1:22
再加上第二天的21:49
1:22+21:49=22:71=23:11
计算要灵活,不要死搬某一个公式,关键在理解
第4个回答  2010-04-03
天12;23;34