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.
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对象
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小时
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
Sortie formatée de l'objet Duration :
Duration duration = Duration.ofMinutes(70); // 创建表示70分钟的Duration对象 String formattedDuration = duration.toString(); // 输出格式为"PT1H10M"
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.
Obtenez l'horodatage actuel :
Instant now = Instant.now(); // 获取当前时间戳
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小时减去当前时间戳
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"
Conclusion :
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!