Maison > Java > javaDidacticiel > Comment formater les dates avec des indicateurs ordinaux (1er, 2e, 3e) en Java ?

Comment formater les dates avec des indicateurs ordinaux (1er, 2e, 3e) en Java ?

Barbara Streisand
Libérer: 2024-12-17 03:20:25
original
356 Les gens l'ont consulté

How to Format Dates with Ordinal Indicators (1st, 2nd, 3rd) in Java?

Formatage des jours du mois avec des indicateurs ordinaux (th, rd)

Lors de l'affichage du jour du mois, il est souvent souhaitable d'inclure un indicateur ordinal pour désigner qu'il s'agisse du "1er", du "2ème", du "3ème", etc. Alors que SimpleDateFormat de Java fournit un moyen de formater le jour numérique du mois ("d"), il n'inclut pas les indicateurs ordinaux.

Formatage de l'indicateur ordinal

Pour formater le jour du mois avec un indicateur ordinal, vous pouvez utiliser une fonction personnalisée ou vous appuyer sur des bibliothèques externes. L'une de ces bibliothèques est Google Guava, qui propose une méthode appelée getDayOfMonthSuffix.

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";
    }
}
Copier après la connexion

Dans cet exemple, getDayOfMonthSuffix prend un jour du mois en entrée et renvoie l'indicateur ordinal correspondant. Il gère les cas particuliers où le jour se termine par "11", "12" ou "13" pour renvoyer "th" au lieu de "st", "nd" ou "rd".

Utiliser cette méthode , vous pouvez désormais formater les jours du mois avec des indicateurs ordinaux :

SimpleDateFormat sdf = new SimpleDateFormat("MMMMM d");
int dayOfMonth = 21;
String formattedDate = sdf.format(new Date()) + getDayOfMonthSuffix(dayOfMonth);
System.out.println(formattedDate); // prints "January 21st"
Copier après la connexion

Résolution des bugs potentiels

Notez qu'il est important de prendre en compte les cas particuliers et les situations particulières lors du formatage des jours du mois avec des indicateurs ordinaux. Par exemple, le tableau mentionné dans la question contient une erreur pour les jours se terminant par « 7tn », « 17tn » et « 27tn ». Pour éviter de tels bugs, il est conseillé d'utiliser un code personnalisé robuste ou de s'appuyer sur des bibliothèques bien testées.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal