Java Language Formatage de la date et de l'heure


Exemple

Avant Java 8, il y avait des classes DateFormat et SimpleDateFormat dans le package java.text et ce code hérité continuerait à être utilisé pendant un java.text temps.

Mais Java 8 offre une approche moderne du traitement du formatage et de l'analyse.

Lors du formatage et de l'analyse, vous transmettez d'abord un objet String à DateTimeFormatter et l'utilisez à son tour pour le formatage ou l'analyse.

import java.time.*;
import java.time.format.*;

class DateTimeFormat
{
    public static void main(String[] args) {

        //Parsing
        String pattern = "d-MM-yyyy HH:mm";
        DateTimeFormatter dtF1 = DateTimeFormatter.ofPattern(pattern);

        LocalDateTime ldp1 = LocalDateTime.parse("2014-03-25T01:30"), //Default format
                      ldp2 = LocalDateTime.parse("15-05-2016 13:55",dtF1); //Custom format

        System.out.println(ldp1 + "\n" + ldp2); //Will be printed in Default format

        //Formatting
        DateTimeFormatter dtF2 = DateTimeFormatter.ofPattern("EEE d, MMMM, yyyy HH:mm");
        
        DateTimeFormatter dtF3 = DateTimeFormatter.ISO_LOCAL_DATE_TIME;

        LocalDateTime ldtf1 = LocalDateTime.now();

        System.out.println(ldtf1.format(dtF2) +"\n"+ldtf1.format(dtF3));
    }
}

Une remarque importante, au lieu d'utiliser des modèles personnalisés, est une bonne pratique d'utiliser des formateurs prédéfinis. Votre code semble plus clair et l'utilisation d'ISO8061 vous aidera certainement à long terme.