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

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

PHPz
Libérer: 2023-07-31 15:09:18
original
1065 Les gens l'ont consulté

Titre : Utilisez les nouvelles classes Duration et Instant dans Java 11 pour gérer les intervalles de temps et les horodatages

Introduction :
Dans le développement de logiciels, il est souvent nécessaire de traiter des données liées au temps, telles que le calcul du temps entre deux intervalles de temps , ou obtenir l'horodatage actuel, etc. Java 11 introduit les nouvelles classes Duration et Instant, rendant le traitement du temps plus pratique et plus flexible. Cet article présentera l'utilisation de la classe Duration et de la classe Instant dans Java 11 et démontrera leurs opérations de base à travers des exemples de code.

1. Classe Duration
La classe Duration est une classe spécifiquement utilisée pour représenter des intervalles de temps dans Java 11. Elle représente la durée d'une période de temps et peut être précise à l'échelle de la nanoseconde. Nous pouvons utiliser la classe Duration pour effectuer des opérations telles que l'addition, la soustraction, la comparaison et le formatage de l'heure. Vous trouverez ci-dessous quelques utilisations courantes de la classe Duration.

  1. Créer un objet 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对象
    Copier après la connexion
  2. Opérations d'addition et de soustraction de l'objet Duration :

    Duration duration = Duration.ofHours(2); // 创建表示2小时的Duration对象
    Duration addedDuration = duration.plusMinutes(30); // 将30分钟加到2小时上
    Duration subtractedDuration = duration.minusSeconds(10); // 将10秒减去2小时
    Copier après la connexion
  3. Opération de comparaison de l'objet 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
    Copier après la connexion
  4. Sortie formatée de l'objet Duration :

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

2. Classe Instant
La classe Instant est une classe utilisée pour représenter les horodatages dans Java 11. Elle peut représenter des horodatages précis à l'échelle de la nanoseconde. Nous pouvons utiliser la classe Instant pour obtenir l'horodatage actuel, effectuer des opérations d'addition et de soustraction de temps et représenter un moment spécifique. Vous trouverez ci-dessous quelques utilisations courantes de la classe Instant.

  1. Obtenez l'horodatage actuel :

    Instant now = Instant.now(); // 获取当前时间戳
    Copier après la connexion
  2. Opérations d'addition et de soustraction d'objets instantanés :

    Instant now = Instant.now(); // 获取当前时间戳
    Instant addedInstant = now.plus(Duration.ofDays(5)); // 将5天加到当前时间戳上
    Instant subtractedInstant = now.minus(Duration.ofHours(2)); // 将2小时减去当前时间戳
    Copier après la connexion
  3. Opérations de comparaison d'objets instantanés :
  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之前
    Copier après la connexion
  5. Sortie formatée d'objets instantanés :
  6. Instant now = Instant.now(); // 获取当前时间戳
    String formattedTimestamp = now.toString(); // 输出格式为"2022-01-01T12:34:56.789Z"
    Copier après la connexion


Conclusion :

Les classes Duration et Instant dans Java 11 offrent un moyen plus flexible et plus pratique de gérer les intervalles de temps et les horodatages. La classe Duration peut facilement effectuer des opérations d'addition de temps, de soustraction, de comparaison et de sortie formatée, tandis que la classe Instant peut facilement représenter des horodatages et effectuer des opérations associées. Les développeurs peuvent raisonnablement utiliser ces deux classes pour traiter des données temporelles en fonction de besoins métier spécifiques, améliorant ainsi l'efficacité du développement et la qualité du code.

En développement réel, nous pouvons combiner la classe Duration et la classe Instant pour effectuer un calcul et un traitement de temps complexes. Par exemple, vous pouvez utiliser la classe Instant pour obtenir l'horodatage à un moment précis, puis utiliser la classe Duration pour calculer l'intervalle de temps entre cet horodatage et l'horodatage actuel. En outre, vous pouvez également utiliser la classe Duration pour calculer l'intervalle de temps entre deux horodatages à des fins de jugement et de traitement de la logique métier. Toutes les opérations ci-dessus peuvent être implémentées sur la base des classes Duration et Instant dans Java 11, ce qui rend le traitement du temps plus pratique et efficace.

Pour résumer, les classes Duration et Instant de Java 11 fournissent des fonctions puissantes et des méthodes de fonctionnement flexibles pour le traitement des intervalles de temps et des horodatages. Les développeurs peuvent les utiliser de manière flexible en fonction des besoins réels pour améliorer l'efficacité du développement et la qualité des logiciels. 🎜

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal