[英]Comparing time using Moment.js in a minute format that doesn't reset on the hour
我试图根据对象的修改时间(格式为:2014-02-19T18:49:15)创建一个递增计时器,并使用Moment.js将其与当前时间进行比较。 但是,当达到60分钟时,它会重新恢复为0。我认为这是因为我只是在这里比较分钟,还是至少使用数学将毫秒更改为整数格式? 我不太确定,当我有时间进行正确格式化时感到很兴奋。 分钟差就是我要返回的全部。 因此,例如,一个半小时后,我希望返回值为“ 90”。
function() {
return function(entry) {
var elpTime = Math.floor(((Date.parse(moment()) - Date.parse(entry.arrival_time)) / (1000*60)) % 60);
return elpTime;
}
};
这是对象的示例。
{
patient_id: 198,
arrival_time: "2014-02-19T18:49:15",
last_modified: "2014-02-19T18:49:15"
}
我知道我想念的东西可能很明显。 但是任何帮助都值得赞赏。 谢谢!
(应该注意的是,我在Angular.js中将此功能用作过滤器功能的一部分。但是我将其删除,因为我认为这不是必要的)
由于您正在使用Moment.js ,因此可以使用内置的diff函数来返回两个时刻之间的时间段。
function() {
return function(entry) {
var elpTime = moment(entry.arrival_time).diff(moment(),'minutes');
return elpTime;
}
};
从文档中:
支持的度量是年,月,周,天,小时,分钟和秒。
默认情况下,moment#diff将返回四舍五入的数字。 如果需要浮点数,则将true作为第三个参数传递。 在2.0.0之前,moment#diff返回的是四舍五入的数字,而不是四舍五入的数字。
文档中的示例:
var a = moment([2008, 6]);
var b = moment([2007, 0]);
a.diff(b, 'years'); // 1
a.diff(b, 'years', true); // 1.5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.