2017-02-11 14 views
1

У меня есть метка времени как строка из Json в виде 11/02/2017 17:25:20 как actualArrivalTime и 11/02/2017 17:25:22 как actualScheduledTime. Я хотел бы рассчитать delayTime, вычитая две временные метки, чтобы получить разницу, которая в этом случае будет +2 или -2 секунды.Java Timestamp Вычитание

ответ

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);