IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Formatter une date avec DateTimeFormatter en fonction de la locale par défaut


Sujet :

API standards et tierces Java

  1. #1
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut Formatter une date avec DateTimeFormatter en fonction de la locale par défaut
    Salut,

    Existe-t-il un moyen avec les nouvelles API de date de java d'avoir un formatter en relation avec la locale du système ?
    Par exemple avec java.text.SimpleDateFormat on pouvait avoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            final DateFormat legacyfr = SimpleDateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.FRENCH);
            System.out.println("Legacy French: " + legacyfr.format(new java.util.Date()));
            final DateFormat legacy = SimpleDateFormat.getInstance();
            System.out.println("Legacy default: " + legacy.format(new java.util.Date()));
    Qui imprime:
    Legacy French: 02/03/22 15:03
    Legacy default: 3/2/22 3:03 PM
    Ma locale par défaut est en_US. Je récupère bien un formatter en adéquation avec la locale. Ainsi, la date sera bien affichée peu importe ou est installer le programme.

    Je ne trouve pas d'équivalent avec DateTimeFormatter. Auriez-vous une idée ?

    Merci.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    peux pas mieux présenter qu'un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for(Locale locale : List.of(Locale.FRANCE, Locale.US)) {
     
        DateTimeFormatter formatter = DateTimeFormatter
                .ofLocalizedDateTime(FormatStyle.SHORT)
                .withLocale(locale);
     
        System.out.println(LocalDateTime.now().format(formatter));
     
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Recherche du numéro de ligne d'une date avec la fonction FIND
    Par FLANNNN dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/11/2019, 12h20
  2. [MySQL] Formatter une date en fonction du contexte utilisateur
    Par CaviarNAS dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/11/2010, 10h08
  3. Parser une date avec un format
    Par titoine1978 dans le forum C++
    Réponses: 15
    Dernier message: 03/04/2006, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo