>  기사  >  Java  >  Java 11의 새로운 Period 및 Duration 클래스를 사용하여 날짜 및 시간 간격 처리

Java 11의 새로운 Period 및 Duration 클래스를 사용하여 날짜 및 시간 간격 처리

PHPz
PHPz원래의
2023-07-30 11:33:18804검색

Java 11의 새로운 Period 클래스 및 Duration 클래스를 사용하여 날짜 및 시간 간격 처리

요약: Java 11에서는 날짜 및 시간 간격 처리를 더 간단하고 유연하게 만드는 새로운 Period 클래스 및 Duration 클래스를 도입했습니다. 이 기사에서는 이 두 클래스의 기본 개념과 사용법을 소개하고 독자가 이러한 클래스를 더 잘 이해하고 사용할 수 있도록 몇 가지 코드 예제를 제공합니다.

1. 기간 클래스

기간 클래스는 날짜 사이의 간격을 나타내는 데 사용됩니다. 여기에는 연도, 월, 일의 세 가지 필드가 포함되어 있습니다. 다음 코드 예제를 통해 Period 개체를 만들 수 있습니다.

import java.time.LocalDate;
import java.time.Period;

public class PeriodExample {
    public static void main(String[] args) {
        LocalDate start = LocalDate.of(2021, 1, 1);
        LocalDate end = LocalDate.of(2022, 1, 1);
        Period period = Period.between(start, end);
        System.out.println("Years: " + period.getYears());
        System.out.println("Months: " + period.getMonths());
        System.out.println("Days: " + period.getDays());
    }
}

출력 결과는 다음과 같습니다.

Years: 1
Months: 0
Days: 0

위 예제에서는 LocalDate를 사용했습니다. 날짜를 나타내고 Period.between() 메서드를 사용하여 두 날짜 사이의 간격을 계산하는 클래스입니다. 간격의 연도, 월, 일수는 getYears(), getMonths()getDays() 메서드를 통해 얻을 수 있습니다. LocalDate类来表示日期,并使用Period.between()方法来计算两个日期之间的间隔。可以通过getYears()getMonths()getDays()方法来获取间隔的年、月和日数。

二、Duration类

Duration类用于表示时间之间的间隔。它以秒和纳秒为单位,可以通过下面的代码示例来创建一个Duration对象:

import java.time.LocalTime;
import java.time.Duration;

public class DurationExample {
    public static void main(String[] args) {
        LocalTime start = LocalTime.of(10, 0, 0);
        LocalTime end = LocalTime.of(12, 0, 0);
        Duration duration = Duration.between(start, end);
        System.out.println("Hours: " + duration.toHours());
        System.out.println("Minutes: " + duration.toMinutes());
        System.out.println("Seconds: " + duration.getSeconds());
    }
}

输出结果为:

Hours: 2
Minutes: 120
Seconds: 7200

上面的例子中,我们使用了LocalTime类来表示时间,并使用Duration.between()方法来计算两个时间之间的间隔。可以通过toHours()toMinutes()getSeconds()方法来获取间隔的小时、分钟和秒数。

三、Period和Duration的操作

除了计算日期和时间间隔,Period和Duration类还提供了一些操作方法用于对间隔进行加减运算,如下所示:

import java.time.LocalDate;
import java.time.Period;

public class PeriodOperationExample {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2021, 1, 1);
        Period period = Period.of(1, 2, 3);
        LocalDate result = date.plus(period);
        System.out.println("Result: " + result);
    }
}

输出结果为:

Result: 2022-03-04

上面的例子中,我们使用了plus()方法将指定的间隔加到日期上。可以使用plusYears()plusMonths()plusDays()

2. Duration 클래스

Duration 클래스는 시간 사이의 간격을 나타내는 데 사용됩니다. 초 및 나노초 단위입니다. 다음 코드 예제를 통해 Duration 객체를 생성할 수 있습니다.

rrreee

출력 결과는 다음과 같습니다.

rrreee

위 예제에서는 LocalTime 클래스를 사용하여 시간을 나타냅니다. , Duration.between() 메서드를 사용하여 두 시간 사이의 간격을 계산합니다. 간격의 시, 분, 초는 toHours(), toMinutes()getSeconds() 메서드를 통해 얻을 수 있습니다.

3. 기간 및 기간 연산
  • 날짜 및 시간 간격 계산 외에도 기간 및 기간 클래스는 아래와 같이 간격을 더하고 빼는 몇 가지 연산 방법도 제공합니다.
  • rrreee
  • 출력 결과는 다음과 같습니다.
  • rrreee
위의 예에서는 plus() 메서드를 사용하여 날짜에 지정된 간격을 추가했습니다. plusYears(), plusMonths()plusDays() 메서드를 사용하여 지정된 연도, 월, 일 수를 추가할 수 있습니다. , 각각 날짜까지.

Duration 클래스의 경우 유사한 연산 방법을 사용하여 시간 간격을 더하거나 뺄 수도 있습니다. 🎜🎜결론: 🎜🎜Java 11에서 Period 클래스와 Duration 클래스를 사용하면 날짜와 시간 간격을 더 편리하게 처리할 수 있습니다. 이러한 클래스는 간격을 계산, 작동 및 형식화하는 풍부한 방법을 제공하므로 다양한 날짜 및 시간 요구 사항을 보다 유연하게 처리할 수 있습니다. 따라서 개발 중에 특정 시나리오에 따라 날짜 및 시간 간격을 처리하는 적절한 클래스를 선택하여 코드의 가독성과 유지 관리성을 향상시킬 수 있습니다. 🎜🎜참조: 🎜🎜🎜Oracle 공식 문서: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/Period.html🎜🎜Oracle 공식 문서: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/Duration.html🎜🎜🎜이 기사가 독자들이 Period 클래스를 더 잘 이해하고 적용하는 데 도움이 되기를 바랍니다. 및 기간 클래스. 두 카테고리에 대해 질문이나 제안사항이 있으시면 언제든지 메시지를 남겨주세요. 감사해요! 🎜

위 내용은 Java 11의 새로운 Period 및 Duration 클래스를 사용하여 날짜 및 시간 간격 처리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.