2010-06-19 70 views
4

我有一个变量,它保存了几毫秒的时间,它表示从现在到未来指定点的时间。使用Javascript/ECMAScript计算时间跨度

我想将此毫秒数转换为我可以向用户显示的时间范围值。

我知道我可以用模数算法做到这种天真的方式,并手动显示结果给用户,但我想使用内置于Javascript/ECMAScript的Date()API来执行此操作。

这是我如何产生的呢:

var timespanInMS = timeInFuture.getTime() - now.getTime(); 
var diff = new Date(timespanInMS); 

alert("Hours: " + diff.getHours() + " Minutes: " + diff.getMinutes()); 

但是这只能在用户的计算机是在UTC时区。如果他们在太平洋(UTC-8),那么'差异'的值将被关闭16个小时(尽管timesInInMS数字相同)。

感谢

回答