Maison >Java >javaDidacticiel >Utilisez les nouvelles classes Period et Duration dans Java 11 pour gérer les dates et les intervalles de temps

Utilisez les nouvelles classes Period et Duration dans Java 11 pour gérer les dates et les intervalles de temps

PHPz
PHPzoriginal
2023-07-30 11:33:18904parcourir

Utilisez les nouvelles classes Period et Duration dans Java 11 pour gérer les dates et les intervalles de temps

Résumé : Java 11 introduit les nouvelles classes Period et Duration, rendant la gestion des dates et des intervalles de temps plus simple et plus flexible. Cet article présentera les concepts de base et l'utilisation de ces deux classes, et fournira quelques exemples de code pour aider les lecteurs à mieux comprendre et utiliser ces classes.

1. Classe Période

La classe Période est utilisée pour représenter l'intervalle entre les dates. Il contient trois champs : année, mois et jour. Vous pouvez créer un objet Période via l'exemple de code suivant :

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());
    }
}

Le résultat de sortie est :

Years: 1
Months: 0
Days: 0

Dans l'exemple ci-dessus, nous avons utilisé LocalDate. Classe pour représenter les dates et utiliser la méthode Period.between() pour calculer l'intervalle entre deux dates. Les années, mois et jours de l'intervalle peuvent être obtenus grâce aux méthodes getYears(), getMonths() et 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. Classe Durée

La classe Durée est utilisée pour représenter l'intervalle entre les temps. C'est en secondes et nanosecondes. Vous pouvez créer un objet Duration via l'exemple de code suivant :

rrreee

Le résultat de sortie est :

rrreee

Dans l'exemple ci-dessus, nous avons utilisé la classe LocalTime pour représenter le temps. , et utilisez la méthode Duration.between() pour calculer l'intervalle entre deux heures. Les heures, minutes et secondes de l'intervalle peuvent être obtenues via les méthodes toHours(), toMinutes() et getSeconds().

3. Opérations de période et de durée
  • En plus de calculer les intervalles de date et d'heure, les classes Période et Durée fournissent également des méthodes d'opération pour ajouter et soustraire des intervalles, comme indiqué ci-dessous :
  • rrreee
  • Le résultat de sortie est :
  • rrreee
Dans l'exemple ci-dessus, nous avons utilisé la méthode plus() pour ajouter l'intervalle spécifié à la date. Vous pouvez utiliser les méthodes plusYears(), plusMonths() et plusDays() pour ajouter le nombre spécifié d'années, de mois et de jours. à une date, respectivement.

Pour la classe Durée, vous pouvez également utiliser des méthodes opérationnelles similaires pour ajouter et soustraire des intervalles de temps. 🎜🎜Conclusion : 🎜🎜En utilisant les classes Period et Duration dans Java 11, nous pouvons gérer les dates et les intervalles de temps plus facilement. Ces classes fournissent des méthodes riches pour calculer, exploiter et formater les intervalles, nous permettant de gérer avec plus de flexibilité divers besoins en matière de date et d'heure. Par conséquent, pendant le développement, nous pouvons choisir des classes appropriées pour gérer les intervalles de date et d’heure en fonction de scénarios spécifiques, améliorant ainsi la lisibilité et la maintenabilité du code. 🎜🎜Référence : 🎜🎜🎜Documentation officielle Oracle : https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/Period.html🎜🎜Documentation officielle Oracle : https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/Duration.html🎜🎜🎜J'espère que cet article pourra aider les lecteurs à mieux comprendre et appliquer la classe Période et Classe de durée. Si vous avez des questions ou des suggestions sur ces deux catégories, n'hésitez pas à laisser un message. Merci! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn