Discuss / Java / 作业

作业

Topic source

佐上楼兰

#1 Created at ... [Delete] [Delete and Lock User]
import java.util.*;
import java.time.*;
import java.time.format.*;
public class Main {
    public static void main(String[] args) {
        LocalDateTime departureAtBeijing = LocalDateTime.of(2019, 9, 15, 13, 0, 0);
        int hours = 13;
        int minutes = 20;
        LocalDateTime arrivalAtNewYork = calculateArrivalAtNY(departureAtBeijing, hours, minutes);
        System.out.println(departureAtBeijing + " -> " + arrivalAtNewYork);
        // test:
        if (!LocalDateTime.of(2019, 10, 15, 14, 20, 0)
                .equals(calculateArrivalAtNY(LocalDateTime.of(2019, 10, 15, 13, 0, 0), 13, 20))) {
            System.err.println("测试失败!");
        } else if (!LocalDateTime.of(2019, 11, 15, 13, 20, 0)
                .equals(calculateArrivalAtNY(LocalDateTime.of(2019, 11, 15, 13, 0, 0), 13, 20))) {
            System.err.println("测试失败!");
        }
    }

    static LocalDateTime calculateArrivalAtNY(LocalDateTime bj, int h, int m) {
        LocalDateTime bj2 = bj.plusHours(h).plusMinutes(m);
        ZonedDateTime zoneDT = bj2.atZone(ZoneId.of("Asia/Shanghai"));
        ZonedDateTime zoneDT2 = zoneDT.withZoneSameInstant(ZoneId.of("America/New_York"));
        
        return zoneDT2.toLocalDateTime();
        
    }
}

  • 1

Reply