Comment formater les dates en java

Java est un langage de programmation polyvalent. Si vous utilisez le toString () Procédé pour convertir un LocalDate à une chaîne, vous obtenez une chaîne telle que 31/10/2014. Que faire si vous souhaitez afficher la date dans un format différent, comme 31/10/2014 ou 31 octobre 2014?

Pour accomplir cela, vous pouvez utiliser la format Procédé selon la LocalDate classe avec un formateur personnalisé que vous créez à l'aide de la DateTimeFormatter classe. Pour spécifier le format que vous souhaitez utiliser, vous passez le DateTimeFormatter classe un modèle de chaîne, en utilisant les symboles de formatage énumérées dans le tableau 5-4.

Format motifExplication
yAnnée (deux ou quatre chiffres)
MMois (un ou deux chiffres ou trois lettres ou plus)
Jour du mois (comme 1, 28)
HHeure
mMinute
sDeuxième (0-et 59)
hHeure d'horloge (1 à 12)
unAM ou PM
VFuseau horaire ID (comme America / Los_Angeles)
zNom de fuseau horaire (comme Pacifique DaylightTime)

La meilleure façon de créer un DateTimeFormatter objet est d'utiliser la statique ofPattern méthode avec une chaîne de modèle. Par example:

DateTimeFormatter formateur-formateur = DateTimeFormatter.ofPattern ("AAAA MMM jj") -



Ce formateur produit dates formatées comme 04 SEP 2014. Vous pouvez ensuite utiliser le formateur pour produire un formatées date chaîne comme ceci:

Date LocalDate = LocalDate.now () - Chaîne formattedDate = date.format (formateur) -

Voici un programme simple qui imprime la date actuelle dans plusieurs formats différents:

import java.util. * - java.time d'importation * -.. java.time.format d'importation * - FormatDateTime public class {static void main (String [] args) {publics LocalDateTime maintenant = LocalDateTime.now () - PrintDate (maintenant , "AAAA-MM-JJ») - PrintDate (maintenant, "MM-JJ-AAAA") - PrintDate (maintenant, "JJ MMM AAAA") - PrintDate (maintenant, "d MMMM AAAA") - PrintDate (maintenant, "HH: mm") - PrintDate (maintenant, "h: mm a") -} PrintDate public static void (date de LocalDateTime, modèle String) {DateTimeFormatter ff = DateTimeFormatter.ofPattern (motif) -pattern = (modèle + "") .Substring (0, 14) -System.out.println (modèle + "" + date.format (f)) -}}

Lorsque vous exécutez ce programme, vous aurez sortie de la console qui ressemble à ceci:

AAAA-MM-JJ 2013-10-09MM-JJ-AAAA 10-09-2013dd MMM AAAA 09 oct 2013MMMM d, AAAA Octobre 9, 2013HH: 20 mm: 29h: mm PM 8:29

Avez-vous remarqué le formatage truc cool? Vous pouvez forcer le System.out.println () motifs à imprimer 14 caractères de longues chaînes de sorte que tous les dates faisaient la queue Le rembourrage est accompli par cette ligne nappe de code:

pattern = (modèle + "") .Substring (0, 14) -

Ici, une chaîne de 14 places est ajouté à la motif chaîne, puis une longue chaîne de 14 caractères est prise à partir du premier caractère. La bonne distance dans la sortie, il est plus facile pour vous de voir l'effet de chacune des chaînes de modèle.


» » » » Comment formater les dates en java