Comment voulez vous mettre en forme le jour du mois pour dire “11”, “21” ou “23” (indicateur ordinal)?

Je sais que cela me donnera le jour du mois sous forme de nombre (11, 21, 23):

SimpleDateFormat formatDayOfMonth = new SimpleDateFormat("d");

Mais comment voulez-vous mettre en forme le jour du mois pour inclure une indicateur ordinal, dire 11th, 21st ou 23rd?

  • Pour référence, ils sont appelés des nombres ordinaux - en.wikipedia.org/wiki/Ordinal_number_(linguistique).
  • Juste pour mémoire, quelque chose de la construction de la réponse au lieu de regarder la totalité de la réponse dans une table est presque impossible de les localiser dans d'autres langues.
  • La réponse est d'une certaine manière incorrecte avoir un coup d'oeil à ma réponse plz.
  • Moderne commentaire: je vous recommande d'éviter le SimpleDateFormat classe. Ce n'est pas seulement dépassée depuis longtemps, il est aussi notoirement difficile. Aujourd'hui, nous avons tellement mieux en java.time, le moderne Java date et l'heure de l'API et son DateTimeFormatter.
  • Jetez un oeil à l'un des numéros de l'API (math.outils/api/nombres). Il a un support pour ordinal, cardinal , le nombre énoncés dans une langue différente, énoncé comme monnaie, dans différentes langues, etc.
InformationsquelleAutor Ken Hume | 2010-10-24