2017-02-11 43 views
1

我有一個時間戳記作爲從Json的字符串形式爲11/02/2017 17:25:20作爲actualArrivalTime和11/02/2017 17:25:22作爲actualScheduledTime。我想通過減去兩個時間戳來計算delayTime來獲得差異,在這種情況下這將是+2或-2秒。Java時間戳減法

回答

0
var actualArrivalTime = new Date("11/02/2017 17:25:20"); 
var actualScheduledTime = new Date("11/02/2017 17:25:22"); 

var delayTime = (actualArrivalTime - actualScheduledTime)/1000; //-2 

根據您需要的順序,您可以切換兩個變量。

0

var date1=new Date("11/02/2017 17:25:20"); 
 
var date2=new Date("11/02/2017 17:25:22"); 
 

 
var diff = Math.abs(date1 - date2); 
 
console.log(diff/1000);

+1

對不起,問。這是針對java或JavaScript的解決方案嗎?我正在研究java ...從Json中提取數據。謝謝。 –

0

試試這個:

var arrivalTime = new Date("11/02/2017 17:25:20"); 
var scheduledTime = new Date("11/02/2017 17:25:22"); 

var diff = arrivalTime.getTime() - scheduledTime.getTime(); 
var diffInMs = (diff/1000); 
1

首先需要解析字符串爲日期 - 在你的情況下,LocalDateTime class似乎是適當的。然後你可以計算出差異:

String actualArrivalTime = "11/02/2017 17:25:20"; 
String actualScheduledTime = "11/02/2017 17:25:22"; 

DateTimeFormatter fmt = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss"); 
LocalDateTime arrival = LocalDateTime.parse(actualArrivalTime, fmt); 
LocalDateTime scheduled = LocalDateTime.parse(actualScheduledTime, fmt); 

long seconds = ChronoUnit.SECONDS.between(arrival, scheduled); 
System.out.println("Time difference in seconds: " + seconds);