2017-04-13 224 views
0

我有兩個日期時間是由服務器發送的,我想計算IONIC應用程序中的持續時間差異。計算兩個日期時間之間的角度

我試圖做到這一點,但我沒有成功。

"created_date": "2017-04-13 10:12:12", 

"current_time": "2017-04-13 11:10:46" 

差= CURRENT_TIME - CREATED_DATE

請幫助我。當總持續時間不超過24小時

+0

日期? – Sajeetharan

+0

@Sajeetharan in string – Neotrixs

回答

0

這種方法將工作:

var now = "04/09/2013 15:00:00"; 
var then = "04/09/2013 14:20:30"; 

moment.utc(moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss"))).format("HH:mm:ss") 

// outputs: "00:39:30" 

F你有24個小時以上,時間將重置爲零上述方法,所以它是不理想的。

如果你想獲得24小時或更長的持續時間有效的響應,那麼你就必須做這樣的事情,而不是:

var now = "04/09/2013 15:00:00"; 
var then = "02/09/2013 14:20:30"; 

var ms = moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss")); 
var d = moment.duration(ms); 
var s = Math.floor(d.asHours()) + moment.utc(ms).format(":mm:ss"); 

// outputs: "48:39:30" 

請注意,我使用的是UTC時間爲捷徑。你可以分別取出d.minutes()和d.seconds(),但你也必須將它們分開。

這是必要的,因爲格式化持續時間異議的功能目前不在moment.js. It has been requested here中。然而,有一個叫矩持續時間格式的第三方插件,是專門用於這一目的:

var now = "04/09/2013 15:00:00"; 
var then = "02/09/2013 14:20:30"; 

var ms = moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss")); 
var d = moment.duration(ms); 
var s = d.format("hh:mm:ss"); 

// outputs: "48:39:30" 
0

該工作代碼會幫助你。字符串類型或日期的

var inputJSON = { 
 
     "created_date": "2017-04-13 10:12:12", 
 
     "current_time": "2017-04-13 11:10:46" 
 
    }; 
 

 
    function getDataDiff(startDate, endDate) { 
 
     var diff = endDate.getTime() - startDate.getTime(); 
 
     var days = Math.floor(diff/(60 * 60 * 24 * 1000)); 
 
     var hours = Math.floor(diff/(60 * 60 * 1000)) - (days * 24); 
 
     var minutes = Math.floor(diff/(60 * 1000)) - ((days * 24 * 60) + (hours * 60)); 
 
     var seconds = Math.floor(diff/1000) - ((days * 24 * 60 * 60) + (hours * 60 * 60) + (minutes * 60)); 
 
     return { day: days, hour: hours, minute: minutes, second: seconds }; 
 
    } 
 
    var diff = getDataDiff(new Date(inputJSON.created_date), new Date(inputJSON.current_time)); 
 
    console.log(diff);

相關問題