我希望借助moment js显示当前时间到特定预设时间(01:00 PM)的剩余小时数,分钟数和秒数。 我使用以下代码,
var n = new Date();
var end = new Date(n.getFullYear(), n.getMonth(), n.getDate(), 13, 0, 0, 0);
var a = moment(end);
var b = moment(n);
var eta = a.subtract(b).toDate().toLocaleTimeString();
在剩余时间大于零之前,它可以正常工作。例如,每当时间到达下午12:10时,它应该显示0小时和剩余40分钟,而不是显示12小时40分钟。
如何解决此问题?
答案 0 :(得分:0)
你不能使用toLocaleTimeString()
,因为它显示了日期的时间,因此,正如Trunst在评论中所说,如果是12小时格式,它将显示12而不是0。
您可以使用momentjs
的{{3}}功能将其强制为24小时格式:
var eta = a.subtract(b).format("H:mm:ss");
选中显示ETA倒计时的format()
请注意使用demo there代替substract
,请参阅Matt Johnson对解释的评论。
请注意,如果要显示超过24小时的ETA,则必须使用momentjs
的{{3}}。