Travailler avec des dates en Java 8

Table des matières
Travailler avec des dates a toujours été un tournant dans la carrière des programmeurs. Cela s'explique en partie par le fait que dans les versions antérieures de Java c'était un peu confus et incohérent. Cependant, dans la nouvelle version, un API qui nous permet de tirer le meilleur parti de la langue avec des méthodes plus claires et plus faciles à utiliser.
Cela permet de travailler avec format de date et d'heure dans Java ne sois pas la torture. Pour cela, nous devons étudier les nouvelles formes et possibilités que le langage nous offre, dans le but de transformer l'un des points qui génère le plus de confusion, en quelque chose que nous maîtrisons correctement.
Pour simplifier le travail, l'équipe de développement de Java nous a fourni un certain nombre de méthodes communes que nous pouvons utiliser, à la fois lorsque nous travaillons avec Rendez-vous, comme quand on travaille avec Heures. Cela réduit l'effort d'apprentissage en raison d'un comportement similaire pour les deux types d'objets.
Nous allons énumérer ci-dessous certaines des méthodes qui se démarquent le plus avec une petite explication de ce que nous pouvons les utiliser, avec cela nous pourrons avoir une idée générale lorsque nous passerons à la partie pratique plus tard.
àCette méthode nous permet de faire une combinaison de l'objet qui l'invoque avec un autre objet.
formatIl nous permet d'utiliser certains paramètres pour produire comme résultat une date ou une heure avec un format spécifique dont nous avons besoin.
avoirIl nous permet d'obtenir un élément que nous spécifions.
estIl permet de valider si un objet est du type avec lequel on fait la comparaison.
plusIl nous donne la possibilité d'ajouter un ajout à l'objet qui l'invoque et en renvoie une copie avec la valeur déjà ajoutée.
àIl nous permet de faire une conversion d'un type à un autre.
Maintenant, avec cette connaissance, nous pouvons passer à d'autres problèmes dans ce même sujet de dates et d'heures dans Java.
Comme nous l'avons expliqué les formulaires utilisés dans Java Maintenant, ils ont changé pour la nouvelle version, c'est pourquoi pour répéter les exemples que nous allons donner, nous avons besoin de la version 8 du kit de développement du langage, sinon nous recevrons une erreur comme celle-ci :

Clarifié le point, voyons ci-dessous ce que nous devons faire pour obtenir les informations du date et heure actuelles à Java.
Pour cela nous allons créer une classe dans laquelle nous allons instancier des objets du type DateLocale, Heure locale Oui LocalDateTime. Chacun d'eux nous donnera respectivement la date courante, l'heure courante et la date et l'heure courante.
Ceci est très utile dans des cas comme journaux système, où nous devons capturer le moment précis où une action est entreprise ou un événement se produit que nous sommes intéressés à enregistrer. Pour atteindre l'objectif, nous pouvons créer un code similaire au suivant :
 importer java.time.*; classe publique CurrentDate {public static void main (String [] args) {LocalDate currentDate = LocalDate.now (); System.out.println (currentDate); LocalTime currentTime = LocalTime.now (); System.out.println (currentTime); LocalDateTime maintenant = LocalDateTime.now (); System.out.println (maintenant); }} 

Comme nous pouvons le voir, tout ce que nous faisons est de déclarer nos objets des types susmentionnés et de leur attribuer la valeur qui est retournée avec la méthode à présent (), qui est celui qui est vraiment chargé de donner la date et l'heure courante, alors on ne se soucie que de l'impression de chacun des objets déclarés.
ImportantIl est très important d'inclure le paquet java.time dans son intégralité afin que nous puissions accéder à toutes les fonctions que nous utilisons, même si nous avons des doutes dans la documentation officielle, nous pouvons trouver plus de détails sur les options de la même.
Voyons à quoi ressemble l'exécution de notre programme :

Un autre aspect dont nous devons toujours tenir compte est la manière d'afficher l'information. En termes de dates, nous avons plusieurs façons, cependant certaines sont plus pratiques que d'autres dans certaines situations. Ceci nous amène la plupart du temps à effectuer des opérations supplémentaires qui nous font écrire des lignes de code supplémentaires, ce qui en Java 8 ce n'est plus si complexe.
Selon l'application que nous développons, nous aurons envie d'afficher le mois par son numéro sur le calendrier ou par son nom, mais le nom peut être complet ou abrégé ainsi que le jour ou l'année, tout cela nous donne un très grand nombre d'options, toutes également valables. Pour résoudre ce problème, nous pouvons utiliser le formateur de date.
Pour formater les dates, nous avons des caractères génériques ou des paramètres qui nous permettent d'obtenir les valeurs expliquées dans le paragraphe précédent. Voyons quels sont les plus importants.
  • Oui, nous permet d'accéder à l'année au format à quatre ou deux chiffres (2014 ou 14).
  • , permet d'obtenir le numéro du jour de l'année (225).
  • ré, Contrairement à la précédente, elle renvoie le numéro du jour du mois concerné (27).
  • L, nous aide à obtenir le mois de l'année sous forme numérique, M nous donne le mois en texte.
  • H, nous donne le temps.
  • s, nous donne les secondes.
  • m, nous permet d'obtenir le procès-verbal.
  • à, nous donne le matin ou l'après-midi de l'heure.
  • z, nous permet d'accéder au nom du fuseau horaire.
Puisque nous connaissons les paramètres de base du format, nous allons essayer un nouvel exercice, dans le code suivant nous allons faire quelques formats, tout d'abord nous allons obtenir la date actuelle et nous allons la convertir au format année mois jour avec des barres obliques au lieu de tirets, alors nous allons analyser une date statique qui provient d'une chaîne avec le même format et enfin nous allons afficher une date complète, y compris si c'est am ou pm, pour utiliser les caractères génériques que nous ont expliqué précédemment. Voyons le code correspondant :
 importer java.time.*; importer java.time.format.*; public class DateFormatter {public static void main (String [] args) {DateTimeFormatter formaté date = DateTimeFormatter.ofPattern ("aaaa / LL / jj"); System.out.println (FormattedDate.format (LocalDate.now ())); System.out.println (LocalDate.parse ("2014/11/15", date formatée)); DateTimeFormatter timezone = DateTimeFormatter.ofPattern ("d MMMM, aaaa h: mm a"); System.out.println (ZonedDateTime.now (). Format (fuseau horaire)); }} 

La première chose que nous pouvons souligner est que nous devons importer à la fois le package java.time avec toutes ses classes comme package java.time.format avec toutes ses classes aussi. Il est possible de faire l'exercice en important les classes spécifiques, mais nous laissons cela en devoir, aussi pour qu'ils aient pour tâche de voir la documentation officielle.
On voit alors que l'on crée un objet du type Formateur DateHeure et on utilise la méthode deMotif () qui accepte les caractères génériques spécifiés, nous voyons que nous plaçons les caractères génériques en double comme aaaa pour obtenir les quatre chiffres de l'année en cours ou encore mm pour obtenir les deux chiffres des minutes.
Enfin nous imprimons chacune des dates avec leurs formats et nous obtenons ce qui suit lorsque nous exécutons notre programme :

C'est là que nous pouvons observer tous les changements que nous avons apportés à la façon de formater les dates, avec cela nous pouvons lui donner plus de sens et de lisibilité tant au niveau humain que pour les moteurs de Base de données Quoi MySQL vous devez recevoir la date par défaut au format aaaa-LL-jj.
Une autre utilisation que l'on peut donner aux nouvelles classes de date et d'heure de Java est de pouvoir utiliser des dates qui proviennent d'une chaîne de texte, celles-ci peuvent être créées par un utilisateur, provenir d'un fichier texte, etc. Mais l'important est que nous devons les manipuler et pour cela nous pouvons utiliser tous les outils dont nous disposons.
Voyons dans le code suivant comment, en utilisant ce que nous avons vu, nous pouvons apporter des modifications à une date à partir d'une chaîne de texte.
 importer java.time.*; importer java.time.format.*; public class StaticDate {public static void main (String [] args) {String StartDate = "1906-12-31"; LocalDatepriseDate = LocalDate.parse (startDate); System.out.println ("Date :" + TakenDate); Chaîne dateStartTime = "1906-12-31T12 : 05"; LocalDateTime TakenDateTime = LocalDateTime.parse (TimeInitialDate); System.out.println ("Date / Heure :" + dateTakTime); DateTimeFormatter df = DateTimeFormatter.ofPattern ("dd MMM uuuu"); System.out.println (TakenDate + "Avec nouveau format :" + df.format (TakenDate)); }} 

Dans le code on voit comment on crée une date initiale dans une chaîne de texte, puis avec un objet du type DateLocale nous utilisons la méthode Analyser pour incorporer la chaîne de texte à un objet de type date, puis nous imprimons l'objet et voyons que s'il a correctement pris la date, nous répétons la même procédure mais en utilisant la date et l'heure avec LocalDateTime.
Enfin, nous prenons notre premier objet créé et lui appliquons un nouveau format, confirmant ainsi que nous avons pu saisir et manipuler une date que nous avons établie à partir d'une chaîne de texte. Voyons à quoi cela ressemble lorsque nous exécutons notre programme :

Avec cela, nous terminons ce tutoriel, nous avons appris à travailler avec des dates dans Java en utilisant les améliorations dans les classes que la nouvelle version intègre, ce qui est Java 8Cela peut être utilisé pour de nombreuses applications au niveau du système et même pour les interfaces utilisateur.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif
wave wave wave wave wave