제목: Java 11의 새로운 Duration 클래스와 Instant 클래스를 사용하여 시간 간격 및 타임스탬프 처리
소개:
소프트웨어 개발에서는 두 시점 간격 사이의 시간을 계산하는 등 시간 관련 데이터를 처리해야 하는 경우가 많습니다. , 또는 현재 타임스탬프 등을 가져옵니다. Java 11에는 새로운 Duration 클래스와 Instant 클래스가 도입되어 시간 처리가 더욱 편리하고 유연해졌습니다. 이 기사에서는 Java 11의 Duration 클래스와 Instant 클래스의 사용법을 소개하고 코드 예제를 통해 기본 작업을 보여줍니다.
1. Duration 클래스
Duration 클래스는 시간 간격을 나타내는 데 특별히 사용되는 Java 11의 클래스이며 나노초 수준까지 정확할 수 있습니다. Duration 클래스를 사용하여 더하기, 빼기, 비교 및 시간 형식 지정과 같은 작업을 수행할 수 있습니다. 다음은 Duration 클래스의 몇 가지 일반적인 용도입니다.
Duration 객체 생성:
Duration duration = Duration.ofDays(5); // 创建表示5天的Duration对象 Duration duration = Duration.ofHours(2); // 创建表示2小时的Duration对象 Duration duration = Duration.ofMinutes(30); // 创建表示30分钟的Duration对象 Duration duration = Duration.ofSeconds(10); // 创建表示10秒的Duration对象 Duration duration = Duration.ofMillis(500); // 创建表示500毫秒的Duration对象 Duration duration = Duration.ofNanos(1000); // 创建表示1000纳秒的Duration对象
Duration 객체의 덧셈 및 뺄셈 연산:
Duration duration = Duration.ofHours(2); // 创建表示2小时的Duration对象 Duration addedDuration = duration.plusMinutes(30); // 将30分钟加到2小时上 Duration subtractedDuration = duration.minusSeconds(10); // 将10秒减去2小时
Duration 객체의 비교 연산:
Duration duration1 = Duration.ofDays(1); // 创建表示1天的Duration对象 Duration duration2 = Duration.ofHours(24); // 创建表示24小时的Duration对象 boolean isEqual = duration1.equals(duration2); // 比较两个Duration对象是否相等 boolean isGreater = duration1.compareTo(duration2) > 0; // 判断duration1是否大于duration2
Duration 객체의 형식화된 출력:
Duration duration = Duration.ofMinutes(70); // 创建表示70分钟的Duration对象 String formattedDuration = duration.toString(); // 输出格式为"PT1H10M"
2. Instant 클래스
Instant 클래스는 Java 11에서 타임스탬프를 표현하는 데 사용되는 클래스입니다. 나노초 수준까지 정확한 타임스탬프를 표현할 수 있습니다. Instant 클래스를 사용하여 현재 타임스탬프를 얻고, 시간 더하기 및 빼기 작업을 수행하고, 특정 시점을 나타낼 수 있습니다. 다음은 Instant 클래스의 몇 가지 일반적인 용도입니다.
현재 타임스탬프 가져오기:
Instant now = Instant.now(); // 获取当前时间戳
인스턴트 개체의 더하기 및 빼기 작업:
Instant now = Instant.now(); // 获取当前时间戳 Instant addedInstant = now.plus(Duration.ofDays(5)); // 将5天加到当前时间戳上 Instant subtractedInstant = now.minus(Duration.ofHours(2)); // 将2小时减去当前时间戳
Instant instant1 = Instant.now(); // 获取当前时间戳 Instant instant2 = instant1.plus(Duration.ofMinutes(10)); // 在当前时间戳上加上10分钟 boolean isEqual = instant1.equals(instant2); // 比较两个Instant对象是否相等 boolean isBefore = instant1.isBefore(instant2); // 判断instant1是否在instant2之前
Instant now = Instant.now(); // 获取当前时间戳 String formattedTimestamp = now.toString(); // 输出格式为"2022-01-01T12:34:56.789Z"
결론 :
위 내용은 Java 11의 새로운 Duration 클래스 및 Instant 클래스를 사용하여 시간 간격 및 타임스탬프 처리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!