Formatage du jour du mois avec indicateur ordinal
Alors que SimpleDateFormat vous permet de formater le jour du mois sous forme de nombre (dd), il ne permet pas d'inclure un indicateur ordinal (par exemple, 11, 21, 23).
Pour y parvenir, vous pouvez utiliser une combinaison de logique et de manipulation de chaînes. Voici un exemple :
import static com.google.common.base.Preconditions.*; String getDayOfMonthSuffix(final int n) { checkArgument(n >= 1 && n <= 31, "illegal day of month: " + n); if (n >= 11 && n <= 13) { return "th"; } switch (n % 10) { case 1: return "st"; case 2: return "nd"; case 3: return "rd"; default: return "th"; } }
Cette fonction renvoie l'indicateur ordinal approprié en fonction du jour donné du mois. Par exemple, getDayOfMonthSuffix(11) renverrait "th".
Évitez les solutions basées sur des tables
Bien qu'il puisse sembler pratique d'utiliser une table pour mapper les jours à leur indicateurs ordinaux, cette approche introduit un risque de bugs. Par exemple, si le tableau est manquant ou contient des erreurs, cela peut conduire à des résultats incorrects. L'approche de code décrite ci-dessus élimine ce problème potentiel en utilisant la logique pour calculer le suffixe de manière dynamique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!