Utilisez les nouvelles classes OffsetDateTime et ZoneOffset dans Java 11 pour gérer les dates et les heures avec des décalages
Citation :
Java 11 introduit les nouvelles classes OffsetDateTime et ZoneOffset pour gérer les dates et les heures avec des décalages de fuseau horaire. Ces classes offrent plus de flexibilité et de fonctionnalités, permettant aux développeurs de mieux gérer les dates et heures dans différents fuseaux horaires.
OffsetDateTime offsetDateTime = OffsetDateTime.of(2022, 1, 1, 12, 0, 0, 0, ZoneOffset.ofHours(8));
Dans le code ci-dessus, nous créons une instance OffsetDateTime représentant 12:00:00 le 1er janvier 2022 et spécifions un décalage horaire de +8 heures.
La classe OffsetDateTime fournit une série de méthodes pour obtenir et manipuler différentes parties du décalage de date, d'heure et de fuseau horaire. Par exemple, nous pouvons utiliser getYear(), getMonth(), getDayOfMonth() et d'autres méthodes pour obtenir l'année, le mois et le jour de la date :
int year = offsetDateTime.getYear(); Month month = offsetDateTime.getMonth(); int dayOfMonth = offsetDateTime.getDayOfMonth();
ZoneOffset zoneOffset = ZoneOffset.ofHours(8); ZoneOffset zoneOffset = ZoneOffset.ofTotalSeconds(28800);
Dans le code ci-dessus, nous avons créé un décalage de fuseau horaire de +8 heures et +28800 respectivement Instance ZoneOffset du décalage de fuseau horaire en secondes.
La classe ZoneOffset fournit une série de méthodes pour obtenir et manipuler différentes parties du décalage. Par exemple, nous pouvons utiliser la méthode getTotalSeconds() pour obtenir le nombre total de secondes du décalage :
int totalSeconds = zoneOffset.getTotalSeconds();
import java.time.OffsetDateTime; import java.time.Month; import java.time.ZoneOffset; public class DateTimeExample { public static void main(String[] args) { OffsetDateTime offsetDateTime = OffsetDateTime.of(2022, 1, 1, 12, 0, 0, 0, ZoneOffset.ofHours(8)); int year = offsetDateTime.getYear(); Month month = offsetDateTime.getMonth(); int dayOfMonth = offsetDateTime.getDayOfMonth(); int hour = offsetDateTime.getHour(); int minute = offsetDateTime.getMinute(); int second = offsetDateTime.getSecond(); System.out.println("Year: " + year); System.out.println("Month: " + month); System.out.println("Day of Month: " + dayOfMonth); System.out.println("Hour: " + hour); System.out.println("Minute: " + minute); System.out.println("Second: " + second); ZoneOffset zoneOffset = ZoneOffset.ofHours(8); int totalSeconds = zoneOffset.getTotalSeconds(); System.out.println("Total Seconds: " + totalSeconds); } }
Résultat de sortie :
Year: 2022 Month: JANUARY Day of Month: 1 Hour: 12 Minute: 0 Second: 0 Total Seconds: 28800
Dans l'exemple de code ci-dessus, nous avons d'abord créé une instance OffsetDateTime représentant 12:00:00 le 1er janvier 2022, et obtenu les différentes parties (année, mois, jour, heure, minute, seconde). Nous avons ensuite créé une instance ZoneOffset représentant le décalage horaire de +8 heures et obtenu le nombre total de secondes du décalage.
Conclusion :
En utilisant les classes OffsetDateTime et ZoneOffset dans Java 11, nous pouvons mieux gérer les dates et les heures avec les décalages de fuseau horaire. Ces classes fournissent un riche ensemble de fonctions et de méthodes qui permettent aux développeurs d'obtenir et de manipuler facilement différentes parties des dates, des heures et des décalages de fuseau horaire. Les développeurs peuvent utiliser ces classes pour gérer les dates et les heures dans différents fuseaux horaires en fonction des besoins réels, améliorant ainsi la lisibilité et la maintenabilité du code.
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!