【发布时间】:2017-02-11 17:59:39
【问题描述】:
我有一个时间戳作为来自 Json 的字符串,形式为 11/02/2017 17:25:20 as actualArrivalTime 和 11/02/2017 17:25:22 as actualScheduledTime。我想通过减去两个时间戳来计算延迟时间以获得差异,在这种情况下为 +2 或 -2 秒。
【问题讨论】:
标签: java json timestamp java-time
我有一个时间戳作为来自 Json 的字符串,形式为 11/02/2017 17:25:20 as actualArrivalTime 和 11/02/2017 17:25:22 as actualScheduledTime。我想通过减去两个时间戳来计算延迟时间以获得差异,在这种情况下为 +2 或 -2 秒。
【问题讨论】:
标签: java json timestamp java-time
您首先需要将字符串解析为日期 - 在您的情况下,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);
【讨论】:
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
根据您需要的顺序,您可以切换两个变量。
【讨论】:
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);
【讨论】:
试试这个:
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);
【讨论】: