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éthodePeriod.between()
pour calculer l'intervalle entre deux dates. Les années, mois et jours de l'intervalle peuvent être obtenus grâce aux méthodesgetYears()
,getMonths()
etgetDays()
.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()
rrreee
Le résultat de sortie est :rrreee
Dans l'exemple ci-dessus, nous avons utilisé la classeLocalTime
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
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.htmlDocumentation officielle Oracle : https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/Duration.htmlJ'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!