计算剩余时间

Calculate timeleft

我正在制作一个具有计算时间功能的应用程序,如果它已经超过过期时间,它应该弹出一条消息说 "session has expired" 类似的东西。

这是我计算的时间:

  CurrentTime := StrToDateTime('10/10/15 10:02');
  TimeExpired := StrToDateTime('10/10/15 10:00');

  iHours := HoursBetween(CurrentTime, TimeExpired );
  iMinutes := MinutesBetween(CurrentTime, TimeExpired )- (iHours * 60 );

问题是它没有给出负值 (-2)。

我通常只计算剩余的小时数和分钟数,但如果我的应用程序崩溃或意外关闭,并且用户再次打开它并且它已经过期,剩余的分钟数不减反增。

我怎么知道时间是否已经过期?

您可以简单地检查哪个时间更大。如果CurrentTime > TimeExpired,那么过期时间已经过去了,session明显过期了