>  기사  >  Java  >  Java 11의 새로운 Duration 클래스 및 Instant 클래스를 사용하여 시간 간격 및 타임스탬프 처리

Java 11의 새로운 Duration 클래스 및 Instant 클래스를 사용하여 시간 간격 및 타임스탬프 처리

PHPz
PHPz원래의
2023-07-31 15:09:181059검색

제목: Java 11의 새로운 Duration 클래스와 Instant 클래스를 사용하여 시간 간격 및 타임스탬프 처리

소개:
소프트웨어 개발에서는 두 시점 간격 사이의 시간을 계산하는 등 시간 관련 데이터를 처리해야 하는 경우가 많습니다. , 또는 현재 타임스탬프 등을 가져옵니다. Java 11에는 새로운 Duration 클래스와 Instant 클래스가 도입되어 시간 처리가 더욱 편리하고 유연해졌습니다. 이 기사에서는 Java 11의 Duration 클래스와 Instant 클래스의 사용법을 소개하고 코드 예제를 통해 기본 작업을 보여줍니다.

1. Duration 클래스
Duration 클래스는 시간 간격을 나타내는 데 특별히 사용되는 Java 11의 클래스이며 나노초 수준까지 정확할 수 있습니다. Duration 클래스를 사용하여 더하기, 빼기, 비교 및 ​​시간 형식 지정과 같은 작업을 수행할 수 있습니다. 다음은 Duration 클래스의 몇 가지 일반적인 용도입니다.

  1. 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对象
  2. Duration 객체의 덧셈 및 뺄셈 연산:

    Duration duration = Duration.ofHours(2); // 创建表示2小时的Duration对象
    Duration addedDuration = duration.plusMinutes(30); // 将30分钟加到2小时上
    Duration subtractedDuration = duration.minusSeconds(10); // 将10秒减去2小时
  3. 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
  4. Duration 객체의 형식화된 출력:

    Duration duration = Duration.ofMinutes(70); // 创建表示70分钟的Duration对象
    String formattedDuration = duration.toString(); // 输出格式为"PT1H10M"

2. Instant 클래스
Instant 클래스는 Java 11에서 타임스탬프를 표현하는 데 사용되는 클래스입니다. 나노초 수준까지 정확한 타임스탬프를 표현할 수 있습니다. Instant 클래스를 사용하여 현재 타임스탬프를 얻고, 시간 더하기 및 빼기 작업을 수행하고, 특정 시점을 나타낼 수 있습니다. 다음은 Instant 클래스의 몇 가지 일반적인 용도입니다.

  1. 현재 타임스탬프 가져오기:

    Instant now = Instant.now(); // 获取当前时间戳
  2. 인스턴트 개체의 더하기 및 빼기 작업:

    Instant now = Instant.now(); // 获取当前时间戳
    Instant addedInstant = now.plus(Duration.ofDays(5)); // 将5天加到当前时间戳上
    Instant subtractedInstant = now.minus(Duration.ofHours(2)); // 将2小时减去当前时间戳
  3. 인스턴트 개체의 비교 작업:
  4. 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之前
  5. 인스턴트 개체의 형식화된 출력:
  6. Instant now = Instant.now(); // 获取当前时间戳
    String formattedTimestamp = now.toString(); // 输出格式为"2022-01-01T12:34:56.789Z"


결론 :

Java 11의 Duration 클래스와 Instant 클래스는 시간 간격과 타임스탬프를 처리하는 더 유연하고 편리한 방법을 제공합니다. Duration 클래스는 시간 덧셈, 뺄셈, 비교 및 ​​형식화된 출력 작업을 편리하게 수행할 수 있는 반면, Instant 클래스는 타임스탬프를 편리하게 표현하고 관련 작업을 수행할 수 있습니다. 개발자는 이 두 클래스를 합리적으로 사용하여 특정 비즈니스 요구 사항에 따라 시간 관련 데이터를 처리하여 개발 효율성과 코드 품질을 향상시킬 수 있습니다.

실제 개발에서는 Duration 클래스와 Instant 클래스를 결합하여 복잡한 시간 계산 및 처리를 수행할 수 있습니다. 예를 들어 Instant 클래스를 사용하여 특정 시점의 타임스탬프를 가져온 다음 Duration 클래스를 사용하여 해당 타임스탬프와 현재 타임스탬프 사이의 시간 간격을 계산할 수 있습니다. 또한 Duration 클래스를 사용하여 비즈니스 논리 판단 및 처리를 위한 두 타임스탬프 사이의 시간 간격을 계산할 수도 있습니다. 위의 모든 작업은 Java 11의 Duration 클래스와 Instant 클래스를 기반으로 구현되어 시간 처리를 더욱 편리하고 효율적으로 만듭니다.

요약하자면 Java 11의 Duration 클래스와 Instant 클래스는 시간 간격 및 타임스탬프 처리를 위한 강력한 기능과 유연한 작업 방법을 제공합니다. 개발자는 이를 실제 필요에 따라 유연하게 사용하여 개발 효율성과 소프트웨어 품질을 향상시킬 수 있습니다. 🎜

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

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