以HH:mm格式计算时差

dav*_*ooh 6 javascript timestamp

我有两个HH:mm格式的时间戳,我需要计算它们之间的差异,表示相同HH:mm格式的时间间隔.

JavaScript中是否有任何实用程序可以实现此目的?我尝试使用Date对象,但我找不到有用的东西......你能帮助我吗?

Kon*_*rak 21

您可以将两个日期相互减去,结果将是以毫秒为单位的差异.

来自Mozilla开发者网络:

// using static methods
var start = Date.now();
// the event you'd like to time goes here:
doSomethingForALongTime();
var end = Date.now();
var elapsed = end - start; // time in milliseconds
Run Code Online (Sandbox Code Playgroud)

由于Date具有一个接受毫秒作为参数的构造函数,因此您只需执行此操作即可将其重新转换为Date

var difference = new Date(elapsed);
//If you really want the hours/minutes, 
//Date has functions for that too:
var diff_hours = difference.getHours();
var diff_mins = difference.getMinutes();
Run Code Online (Sandbox Code Playgroud)

  • 我建议改用getUTCHours()和getUTCMinutes()来处理时区问题。 (2认同)

tim*_*boy 5

?var t1 = '12:04'.split(':'), t2 = '3:45'???????.split(':');
var d1 = new? Date(0, 0, 0, t1[0], t1[1]),
    d2 = new Date(0, 0, 0, t2[0], t2[1]);
var diff = new Date(d1 - d2);
Run Code Online (Sandbox Code Playgroud)