155 votes

Existe-t-il un format de date pour afficher le jour de la semaine en java ?

Je connais des formats de date tels que
"yyyy-mm-dd" -qui affiche la date au format 2011-02-26
"yyyy-MMM-dd" -qui affiche la date au format 2011-FEB-26

à utiliser dans eg :

SimpleDateFormat formatter = new SimpleDateFormat(
                "yyyy/MMM/dd ");

Je veux un format qui m'aiderait à afficher le jour de la semaine comme suit 2011-02-MON ou quoi que ce soit. Je veux juste que le jour de la semaine soit affiché en caractères avec le mois et l'année. Pouvez-vous me parler d'un format de ce type ?

390voto

Nathan Feger Points 7675

L'écran devrait afficher "Tue" :

new SimpleDateFormat("EEE").format(new Date());

L'écran devrait afficher "Mardi" :

new SimpleDateFormat("EEEE").format(new Date());

L'écran devrait afficher 'T' :

new SimpleDateFormat("EEEEE").format(new Date());

Donc votre exemple spécifique serait :

new SimpleDateFormat("yyyy-MM-EEE").format(new Date());

19voto

toolkit Points 27248

Yep - "E" fait l'affaire

http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyy-MM-E");
System.out.println(df.format(date));

7voto

user2824143 Points 39
SimpleDateFormat sdf=new SimpleDateFormat("EEE");

EEE représente le jour de la semaine ; par exemple, le jeudi est affiché sous la forme Thu.

5voto

Basil Bourque Points 8938

Tl;dr

LocalDate.of( 2018 , Month.JANUARY , 23 )
         .format( DateTimeFormatter.ofPattern( “uuuu-MM-EEE” , Locale.US )  )

java.time

L'approche moderne utilise les classes java.time.

LocalDate ld = LocalDate.of( 2018 , Month.JANUARY , 23 ) ;

Notez comment nous spécifions un Locale comme Locale.CANADA_FRENCH pour déterminer la langue humaine utilisée pour traduire le nom du jour.

DateTimeFormatter f = DateTimeFormatter.ofPattern( “uuuu-MM-EEE” , Locale.US ) ;
String output = ld.format( f ) ;

ISO 8601

À propos, vous serez peut-être intéressé par la norme Semaine ISO 8601 schéma de numérotation : yyyy-Www-d .

2018-W01-2

La semaine n° 1 est le premier jeudi de l'année civile. La semaine commence le lundi. Une année compte soit 52, soit 53 semaines. Les derniers/premiers jours d'une année civile peuvent se situer dans l'année suivante/précédente basée sur la semaine.

Le chiffre unique à la fin est le jour de la semaine, 1-7 pour lundi-dimanche.

Ajouter le Trois-Dix-Extra à votre projet pour la classe de bibliothèque YearWeek classe.


À propos de java.time

Le site java.time est intégré à Java 8 et aux versions ultérieures. Ces classes remplacent les anciennes classes héritage les classes de date et d'heure telles que java.util.Date , Calendar , & SimpleDateFormat .

Le site Joda-Time Le projet, actuellement en mode de maintenance conseille de migrer vers le java.time classes.

Pour en savoir plus, consultez le Tutoriel Oracle . Et recherchez sur Stack Overflow de nombreux exemples et explications. La spécification est JSR 310 .

Où obtenir les classes java.time ?

  • Java SE 8 , Java SE 9 et plus tard
    • Intégré.
    • Fait partie de l'API Java standard avec une mise en œuvre groupée.
    • Java 9 ajoute quelques fonctionnalités et corrections mineures.
  • Java SE 6 y Java SE 7
    • Une grande partie de la fonctionnalité java.time est rétroportée vers Java 6 & 7 dans Trois Dix-Backport .
  • Android
    • Les versions ultérieures d'Android regroupent les implémentations des classes java.time.
    • Pour les versions antérieures d'Android, le ThreeTenABP le projet s'adapte Trois Dix-Backport (mentionné ci-dessus). Voir Comment utiliser ThreeTenABP .

Le site Trois-Dix-Extra Le projet étend java.time avec des classes supplémentaires. Ce projet est un terrain d'essai pour d'éventuels ajouts futurs à java.time. Vous pouvez y trouver des classes utiles telles que Interval , YearWeek , YearQuarter et plus .

3voto

DHall Points 373

Utilisez "E"

Voir la section sur Modèles de date et d'heure :

JavaDocs pour SimpleDateFormat

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X