2016-04-27 62 views
-5

我得到了字符串格式的时间,我想在几分钟之内找出时间差。我将如何做到这一点?如何计算AngularJS中的时差?

+0

您期望的结果是什么?这甚至没有意义。 – yarons

+0

为什么你不能在你的控制器中写一个JS函数并调用它呢? – Avinash

+0

'date'过滤器期望输入一个'date_expression'(日期格式为Date对象,毫秒(字符串或数字)或各种ISO 8601日期时间字符串格式)。 “hh:mm”不是'date_expression' ...(请参阅https://docs.angularjs.org/api/ng/filter/date)。 – MarcoS

回答

1

您可以使用Moment库:

moment.utc(moment(time_stop.diff(moment(time_start))).format("HH:mm") 

你可以在一个函数包装这个调用:

$scope.timeDifference = function(start, end) { 
    return moment.utc(moment(end).diff(moment(start))).format("HH:mm"); 
} 

,然后在您的视图:

{{ timeDifference("15:40", "16:20") }} 
0

这里一种方法来获得小时,分钟和秒的差异:

var date1 = new Date("October 13, 2014 16:00:00"); 
var date2 = new Date("October 13, 2014 16:10:00"); 
var diffMs = Math.abs(date1 - date2); // milliseconds between date1 & date2 
var diffDays = Math.round(diffMs/86400000); // days 
var diffHrs = Math.round((diffMs % 86400000)/3600000); // hours 
var diffMins = Math.round(((diffMs % 86400000) % 3600000)/60000); // minutes 
console.log(diffDays + " days, " + diffHrs + " hours, " + diffMins + " minutes"); 

使用此代码,您应该能够使您的过滤器。