【发布时间】:2016-09-15 21:58:21
【问题描述】:
我正在实现一个功能,以 Angular 形式倒计时当前时间 - 未来的现有时间。如果时间已过,则显示一条消息。定时器在..... HH:MM:SS
- 结束时间。让我们称之为 endTime 例如: 2016 年 9 月 15 日晚上 9:16:00
- 当前时间。时间当前我们生活的时刻。 我们称之为 currentTime。
目标是获得一个当前时间 - 结束时间的计时器。将其保存到变量 TotalHours。
然后将 NOW 的剩余时间计算为总小时数。例如 TotalHours = 5。现在是 2016 年 9 月 14 日下午 1:16:00,然后 FinalCountDown = 6:16:00 PM。那是我要运行的计时器...
这就是我的做法......
if (info.endTime) {
var CurrentTime = new Date().toLocaleString('en-US');
moment.locale(); // en
var TotalHours = moment.utc(moment(info.diffTime, "DD/MM/YYYY HH:mm:ss").diff(moment(CurrentTime, "DD/MM/YYYY HH:mm:ss"))).format("HH:mm:ss");
info.finalCountDown= TotalHours;
};
这里的问题如下:
案例一:
endTime = 9/15/2016 9:16:00 AM
currentTime = 9/15/2016 1:21:00 PM
TotalHours = 4:05:00
但是……如果是在接下来的 2 天之后……
案例 2:
endTime = 9/17/2016 9:16:00 AM
currentTime = 9/15/2016 1:21:00 PM
TotalHours = 4:05:00
Total hours is still the same...
我需要它添加 24 小时 + 24 小时 + 额外时间 = 48 + 4:05:00 = 52:05:00
我也希望它显示为:52h:05m:00s
请告诉我如何解决这个问题...
【问题讨论】: