小编Fır*_*lut的帖子

时差计算错误

我必须计算出发机场和到达机场之间的总飞行时间.

这项工作由以下代码片段完成:

    public int calculateFlightDuration(String departureDateTime, String depAirportCode, String arrivalDateTime,
        String arrAirportCode) {
    try {
        LocalDateTime depLocalTime = LocalDateTime.parse(departureDateTime, formatter);
        LocalDateTime arrLocalTime = LocalDateTime.parse(arrivalDateTime, formatter);

        ZoneOffset depZoneOffset = getTimeZoneOffset(depAirportCode);
        ZoneOffset arrZoneOffset = getTimeZoneOffset(arrAirportCode);

        if (depZoneOffset != null && arrZoneOffset != null) {

            OffsetDateTime offsetDepTime = OffsetDateTime.of(depLocalTime, depZoneOffset);
            OffsetDateTime offsetArrTime = OffsetDateTime.of(arrLocalTime, arrZoneOffset);

            Duration flightDuration = Duration.between(offsetArrTime, offsetDepTime).abs();

            return (int) flightDuration.toMinutes();

        }

    } catch (Exception e) {
        LOG.warn("::calculateFlightDuration depTime:{} dep.code:{} arrTime:{} arr.code:{}", departureDateTime,
                depAirportCode, arrivalDateTime, arrAirportCode);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是问题所在: …

java time duration datetimeoffset timezone-offset

7
推荐指数
1
解决办法
118
查看次数

标签 统计

datetimeoffset ×1

duration ×1

java ×1

time ×1

timezone-offset ×1