Table des matières
✅ Utilisez java.time au lieu de vieilles classes de date / calendrier
? 1. Obtenez la date et l'heure actuelles
? ️ 2. Créez des dates spécifiques
➕ 3. Ajouter ou soustraire le temps (immuable)
? 4. Travailler avec des fuseaux horaires (ZonedDateTime)
? 5. Dates de format et d'analyse
? 6. Compatibilité héritée (si nécessaire)
? Conseils professionnels
Maison Java javaDidacticiel Comment travailler avec le calendrier à Java?

Comment travailler avec le calendrier à Java?

Aug 02, 2025 am 02:38 AM
java calendar

Utilisez des classes dans le package Java.Time pour remplacer les anciennes classes de date et de calendrier; 2. Obtenez la date et l'heure actuelles via LocalDate, LocalDateTime et Localtime; 3. Créez une date et une heure spécifiques en utilisant la méthode OF (); 4. Utilisez la méthode plus / moins pour augmenter et diminuer le temps; 5. Utilisez ZonedDateTime et ZoneID pour traiter le fuseau horaire; 6. Format et chaînes de date d'analyse via DateTimeFormatter; 7. Utilisez instantanément pour être compatible avec les anciens types de dates si nécessaire; Le traitement des dattes dans le Java moderne devrait donner la priorité à l'utilisation de l'API Java.Time, qui fournit une interface claire, immuable et filiale, adaptée à la plupart des scénarios pratiques, et peut éviter efficacement les défauts des classes de dattes traditionnelles.

Comment travailler avec le calendrier à Java?

Travailler avec des calendriers en Java peut être déroutant si vous utilisez des méthodes obsolètes, mais le Java moderne (en particulier à partir de Java 8) offre un moyen beaucoup plus propre et indépendant de gérer les dates et les temps via le package java.time . Voici un guide pratique sur la façon de travailler efficacement avec les calendriers.

Comment travailler avec le calendrier à Java?

✅ Utilisez java.time au lieu de vieilles classes de date / calendrier

Évitez les vieilles classes java.util.Date et java.util.Calendar - elles sont mutables, pas en file et difficile à travailler. Au lieu de cela, utilisez l'API java.time introduit dans Java 8 .

Classes clés:

Comment travailler avec le calendrier à Java?
  • LocalDateTime - Date et heure sans fuseau horaire
  • ZonedDateTime - Date et heure avec le fuseau horaire
  • LocalDate - Juste une date (par exemple, 2025-04-05)
  • LocalTime - juste un moment (par exemple, 14h30)
  • YearMonth , MonthDay , etc. - Types de dates spécialisées

? 1. Obtenez la date et l'heure actuelles

 import java.time.localatetime;
import java.time.localdate;
import java.time.localtime;

LocalDateTime Now = localDateTime.now ();
System.out.println ("MAINTENANT:" MAINTENANT);

LocalDate aujourd'hui = localDate.now ();
System.out.println ("Aujourd'hui:" Aujourd'hui);

LocalTime Heure = LocalTime.Now ();
System.out.println ("Heure actuel:" Time);

Cela vous donne des objets propres et immuables représentant le moment actuel.


? ️ 2. Créez des dates spécifiques

Vous pouvez facilement créer des dates fixes:

Comment travailler avec le calendrier à Java?
 Anniversaire localdate = localDate.of (1990, 5, 15); // année, mois, jour
// ou utiliser un mois enum
LocalDate Noël = localDate.of (2025, java.time.month.de décembre, 25);

De même pour le temps:

 Localtime Meetingtime = localtime.of (14, 30); // 14h30

Combinez la date et l'heure:

 Event localDateTime = localDateTime.of (2025, 3, 20, 9, 0); // 20 mars, 9h00

➕ 3. Ajouter ou soustraire le temps (immuable)

Tous les objets java.time sont immuables , vous obtenez donc une nouvelle instance lors de la modification.

 LocalDate aujourd'hui = localDate.now ();
LocalDate Nextweek = Today.Plusweeks (1);
LocalDate NextMonth = Today.Plusmonths (1);
Tendayso localdate = Today.Minusdays (10);

System.out.println ("La semaine prochaine:" Nextweek);

Fonctionne de manière similaire pour LocalDateTime , LocalTime , etc.


? 4. Travailler avec des fuseaux horaires (ZonedDateTime)

Si vous avez besoin de fuseaux horaires (par exemple, programmé dans toutes les régions):

 import java.time.zoneid;
import java.time.zoneddatetime;

ZONEID NYZONE = ZONEID.OF ("America / New_york");
ZonedDateTime nytime = zoneddatetime.now (nyzone);

ZoneId LondonZone = ZoneId.of ("Europe / Londres");
ZonedDateTime Londontime = ZonedDateTime.now (LondonZone);

System.out.println ("NY:" NYtime);
System.out.println ("Londres:" Londontime);

Vous pouvez également convertir entre les zones:

 ZonedDateTime nyinlondontime = nytime.withzonesAmyInstant (LondonZone);

? 5. Dates de format et d'analyse

Convertir en / à partir de chaînes à l'aide de DateTimeFormatter .

 import java.time.format.datetimeFormatter;

Date locale = localDate.of (2025, 4, 5);
DateTimeFormatter Formatter = DateTimeFormatter.ofpattern ("dd-mm-yyy");
Chaîne formatée = date.format (format); // "05-04-2025"
System.out.println (formaté);

// Analyser la chaîne à ce jour
String Input = "15-08-2023";
LocalDate analysé = localDate.Parse (entrée, format);

Modèles communs:

  • "yyyy-MM-dd" → 2025-04-05
  • "dd/MM/yyyy HH:mm" → 05/04/2025 14:30
  • "MMM dd, yyyy" → 05 avril 2025

? 6. Compatibilité héritée (si nécessaire)

Si vous devez interagir avec les anciennes API qui utilisent java.util.Date :

 Importer java.util.date;
import java.time.instant;

// Convertir localDateTime à ce jour
LocalDateTime ldt = localDateTime.now ();
Date oldDate = Date.from (ldt.atzone (ZoneId.SystemDefault ()). TOInstant ());

// Convertir la date de localDateTime
Date LegacyDate = new Date ();
LocalDateTime ldt2 = LegacyDate.toinstant ()
                               .atZone (ZoneId.SystemDefault ())
                               .TolocaldateTime ();

Mais essayez de vous en tenir à java.time tout au long de votre application.


? Conseils professionnels

  • Spécifiez toujours explicitement les fuseaux horaires lorsqu'ils traitent des événements du monde réel.
  • Utilisez Instant pour les horodatages (par exemple, journalisation, stockage de base de données).
  • Pour les événements récurrents ou la logique du calendrier (par exemple, "premier lundi du mois"), considérez les bibliothèques comme Threeten-Extra ou Joda-Time (bien que Joda soit maintenant en mode de maintenance).

Fondamentalement, travailler avec des calendriers à Java est propre et sûr si vous utilisez java.time . Évitez l'ancienne classe Calendar à moins que vous ne conservez un code hérité. Concentrez-vous sur les outils LocalDate , LocalDateTime , ZonedDateTime et Formatting - ils couvrent la plupart des cas d'utilisation du monde réel.

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 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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Java Cryptography Architecture (JCA) pour le codage sécurisé Java Cryptography Architecture (JCA) pour le codage sécurisé Aug 23, 2025 pm 01:20 PM

Comprendre les composants de base JCA tels que MessagediGest, Cipher, KeyGenerator, SecureRandom, Signature, Keystore, etc., qui mettent en œuvre des algorithmes via le mécanisme du fournisseur; 2. Utilisez des algorithmes et des paramètres forts tels que SHA-256 / SHA-512, AES (clé 256 bits, mode GCM), RSA (2048 bits ou supérieur) et SecureRandom; 3. Évitez les clés à code dur, utilisez des clés pour gérer les clés et générez des clés via des mots de passe dérivés en toute sécurité tels que PBKDF2; 4. Désactiver le mode ECB, adopter des modes de chiffrement d'authentification tels que GCM, utiliser des IV aléatoires uniques pour chaque cryptage et des caissiers clairs dans le temps

Résolution des problèmes communs de Java NullpointerException avec facultatif Résolution des problèmes communs de Java NullpointerException avec facultatif Aug 31, 2025 am 07:11 AM

Facultatif est une classe de conteneurs introduite par Java 8. Il est utilisé pour indiquer clairement qu'une valeur peut être vide, évitant ainsi NullPointerException; 2. Il simplifie la vérification null nul en fournissant MAP, Orelse et d'autres méthodes, empêchant les méthodes de renvoyer les valeurs de rendement de la collection NULL et de normaliser; 3. Les meilleures pratiques incluent uniquement les valeurs de retour, d'éviter l'utilisation de champs ou de paramètres, de distinguer Orelse de Orelseget, et de ne pas appeler Get () directement; 4. Facultatif ne doit pas être abusé. Si les méthodes non vides n'ont pas besoin d'être enveloppées, les opérations facultatives inutiles doivent être évitées dans le flux; L'utilisation correcte de facultatif peut considérablement améliorer la sécurité et la lisibilité du code, mais elle nécessite de bonnes habitudes de programmation.

Modifier les signets dans Chrome Modifier les signets dans Chrome Aug 27, 2025 am 12:03 AM

L'édition de signets de Chrome est simple et pratique. Les utilisateurs peuvent saisir le gestionnaire de signets via les touches de raccourci Ctrl Shift O (Windows) ou CMD Shift O (Mac), ou entrer dans le menu du navigateur; 1. Lors de la modification d'un seul signet, cliquez avec le bouton droit pour sélectionner "Modifier", modifiez le titre ou l'URL et cliquez sur "Terminer" pour enregistrer; 2. Lorsque vous organisez des signets par lots, vous pouvez maintenir CTRL (ou CMD) dans des signets à choix multiples dans le gestionnaire de signets, cliquez avec le bouton droit pour sélectionner "passer à" ou "Copier" le dossier cible; 3. Lors de l'exportation et de l'importation de signets, cliquez sur le bouton "Résoudre" pour sélectionner "Exporter Bookmark" pour enregistrer en tant que fichier HTML, puis restaurer la fonction "Importer Bookmark" si nécessaire.

Les paramètres de jeu lol n'enregistrent pas après la fermeture [fixe] Les paramètres de jeu lol n'enregistrent pas après la fermeture [fixe] Aug 24, 2025 am 03:17 AM

IfleagueoflegendSettingSaren’ssaving, tryTheSesteps: 1.RunthegameasAdministrator.2.grantfullfolderpermissionstotheagueoflegendDirectory.3.Editandensuregame.cfgisn’Tread-only.4.DisableCloudsyNcfortaGamefolder.5.

Entrez la touche ne fonctionnant pas sur mon clavier Entrez la touche ne fonctionnant pas sur mon clavier Aug 30, 2025 am 08:36 AM

Tout d'abord, CheckForPhysicsUesuesLikeeDebrisordAmageAndCleantheyBoardOrtestwithanExternalone; 2.TestertheenterkeyIndifferentAppstodetermineiftheissueIssoftware-spécifique; 3.restartyourcomputertoresolvetetemporaryglitches; 4.DisableStickykeys, Filterkeys, Ortogglek

Qu'est-ce qu'une fuite de mémoire en Java? Qu'est-ce qu'une fuite de mémoire en Java? Aug 28, 2025 am 05:37 AM

AmemémoryleakinjavaoccurSwhenUnReachableObjectsarenotgarBageCollecyDuetolingingreFerences, seadtoExcessiveMemoryusageAndPotentialoutoutofMemoryError.ComMonCauseSeSestaticCollesectionreweting

Que sont les cours de wrapper et pourquoi sont-ils utilisés en Java? Que sont les cours de wrapper et pourquoi sont-ils utilisés en Java? Sep 01, 2025 am 05:58 AM

WrapperclassesaSareUsedToconvertprimeTatatyTySIntoObjects, permettant à la consommation, permettant de surtout, fournissant des méthodes et de la supportation d'auto-oboxing / déborde.

La demande n'a pas pu être effectuée en raison d'une erreur de périphérique d'E / S [6 solutions] La demande n'a pas pu être effectuée en raison d'une erreur de périphérique d'E / S [6 solutions] Aug 23, 2025 pm 02:12 PM

Ifyouencounterani / odeviceerror, tryTheSesteps: 1.restartyourcomputerAndDevice.2.replacetheusbcableorport.3.UpdateorreinstallthedevicedRiver.4.RunchkdsktofixDiskerror.5retide / satransferModeWeveNegener.6.SishignanwDredeterIndiskman de gestion.

See all articles