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 par exemple:

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

Je veux un format qui m’aiderait à afficher le jour de la semaine comme 2011-02-MON ou n’importe quoi. 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 comme celui-ci?

Cela devrait afficher «Tue»:

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

Cela devrait afficher “mardi”:

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

Cela devrait afficher “T”:

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

Donc, votre exemple spécifique serait:

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

Yep – ‘E’ fait le tour

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)); 
 SimpleDateFormat sdf=new SimpleDateFormat("EEE"); 

EEE représente le jour de la semaine, par exemple jeudi est affiché comme jeu.

Pour le programme complet, vous pouvez voir le lien ci-dessous

http://java-interview-questions.com/how-to-display-day-of-week-in-java/

Tu vois”

Voir la section sur les modèles de date et d’heure :

JavaDocs pour SimpleDateFormat

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 Locale.CANADA_FRENCH tel que Locale.CANADA_FRENCH pour déterminer le langage humain utilisé pour traduire le nom du jour.

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

ISO 8601

En passant, vous pouvez être intéressé par le schéma de numérotation hebdomadaire ISO 8601 : yyyy-Www-d .

2018-W01-2

La semaine n ° 1 a le premier jeudi de l’année civile. La semaine commence un lundi. Une année a 52 ou 53 semaines. Les derniers / premiers jours d’une année civile peuvent se situer dans l’année de la semaine suivante / précédente.

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

Ajoutez la classe de bibliothèque ThreeTen-Extra à votre projet pour la classe YearWeek .


À propos de java.time

Le framework java.time est intégré à Java 8 et versions ultérieures. Ces classes supplantent les anciennes classes de date / heure héritées telles que java.util.Date , Calendar et SimpleDateFormat .

Le projet Joda-Time , maintenant en mode maintenance , conseille la migration vers les classes java.time .

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

Où obtenir les classes java.time?

  • Java SE 8 , Java SE 9 et versions ultérieures
    • Intégré
    • Partie de l’API Java standard avec une implémentation intégrée.
    • Java 9 ajoute quelques fonctionnalités et corrections mineures.
  • Java SE 6 et Java SE 7
    • Une grande partie de la fonctionnalité java.time est transférée vers Java 6 et 7 dans ThreeTen-Backport .
  • Android
    • Versions ultérieures des implémentations de bundles Android des classes java.time.
    • Pour Android antérieur, le projet ThreeTenABP adapte ThreeTen-Backport (mentionné ci-dessus). Voir Comment utiliser ThreeTenABP… .

Le projet ThreeTen-Extra é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 , etc.