2016-04-27 224 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"); 

使用此代碼,您應該能夠使您的過濾器。