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 format2011-FEB-26
à utiliser par exemple dans:
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 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 comme celui-ci?
java
date
simpledateformat
date-formatting
rogerstone
la source
la source
dd
comme format?-
notation uniquement avec les dates au format ISO (c'est-à-dire année-mois-jour). Le tiret a été élu là-bas car il n'était utilisé pour aucun autre format de date à l'époque, pour éviter toute confusion, et maintenant tout le monde utilise sa commande personnalisée avec le tiret ...Réponses:
Cela devrait afficher 'Tue':
Cela devrait afficher «mardi»:
Cela devrait afficher 'T':
Ainsi, votre exemple spécifique serait:
la source
new SimpleDateFormat("EEEE, dd/MM/yyyy");
si cela aide quelqu'un à l'avenir.EEEE
affiche les noms entiers du jour de la semaine - c'est-à-dire «lundi», «mardi», etc.Ouais - 'E' fait l'affaire
http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
la source
DateFormat df = new SimpleDateFormat("yyyy-MM-EEEEEEE");
pour un affichage long DayOfWeek.EEE signifie jour de la semaine, par exemple jeudi est affiché sous la forme Thu.
la source
Tu vois"
Voir la section sur les modèles de date et d'heure :
JavaDocs pour SimpleDateFormat
la source
tl; dr
java.time
L'approche moderne utilise les classes java.time.
Notez comment nous spécifions un
Locale
telLocale.CANADA_FRENCH
pour déterminer la langue humaine utilisée pour traduire le nom du jour.ISO 8601
Soit dit en passant, vous pouvez être intéressé par la norme semaine ISO 8601 système de numérotation:
yyyy-Www-d
.La semaine n ° 1 a le premier jeudi de l'année civile. La semaine commence un lundi. Une année compte 52 ou 53 semaines. Les derniers / premiers jours d'une année civile peuvent atterrir dans l'année suivante / précédente basée sur la semaine.
Le seul chiffre à 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
YearWeek
classe.À propos java.time
Le framework java.time est intégré à Java 8 et versions ultérieures. Ces classes supplantent les anciens gênants hérités des classes date-heure tels que
java.util.Date
,Calendar
, etSimpleDateFormat
.Le projet Joda-Time , désormais 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?
Le projet ThreeTen-Extra étend java.time avec des classes supplémentaires. Ce projet est un terrain d'essai pour d'éventuels futurs ajouts à java.time. Vous trouverez peut - être des classes utiles ici, comme
Interval
,YearWeek
,YearQuarter
et plus .la source
Je sais que la question est d'obtenir le jour de la semaine sous forme de chaîne (par exemple, le nom court), mais pour quiconque recherche le jour de la semaine numérique (comme je l'étais), vous pouvez utiliser la nouvelle chaîne de format "u", prise en charge depuis Java 7. Par exemple:
renvoie l'index du jour de la semaine du jour, à savoir: 1 = lundi, 2 = mardi, ..., 7 = dimanche.
la source