Heim >Java >javaLernprogramm >Wie formatiere ich Datumsangaben mit Ordnungsindikatoren (1., 2., 3.) in Java?

Wie formatiere ich Datumsangaben mit Ordnungsindikatoren (1., 2., 3.) in Java?

Barbara Streisand
Barbara StreisandOriginal
2024-12-17 03:20:25394Durchsuche

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

Tage des Monats mit Ordinalindikatoren (th, rd) formatieren

Bei der Anzeige des Tages des Monats ist es oft wünschenswert, einen Ordinalindikator zur Bezeichnung einzufügen ob es sich um den „1.“, „2.“, „3.“ usw. handelt. Javas SimpleDateFormat bietet zwar eine Möglichkeit, den numerischen Tag des Monats („d“) zu formatieren, dies ist jedoch der Fall enthalten keine Ordinalindikatoren.

Formatierung von Ordinalindikatoren

Um den Tag des Monats mit einem Ordinalindikator zu formatieren, können Sie eine benutzerdefinierte Funktion verwenden oder sich auf externe Bibliotheken verlassen. Eine solche Bibliothek ist Google Guava, die eine Methode namens getDayOfMonthSuffix bietet.

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";
    }
}

In diesem Beispiel nimmt getDayOfMonthSuffix einen Tag des Monats als Eingabe und gibt den entsprechenden Ordinalindikator zurück. Es behandelt Sonderfälle, in denen der Tag mit „11“, „12“ oder „13“ endet, um „th“ anstelle von „st“, „nd“ oder „rd“ zurückzugeben.

Verwendung dieser Methode , können Sie jetzt Tage des Monats mit Ordinalindikatoren formatieren:

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

Potenzielle Fehler beheben

Beachten Sie, dass es wichtig ist, Eckfälle und Sondersituationen zu berücksichtigen, wenn Formatierung der Tage des Monats mit Ordinalindikatoren. Beispielsweise enthält die in der Frage erwähnte Tabelle einen Fehler für Tage, die auf „7tn“, „17tn“ und „27tn“ enden. Um solche Fehler zu vermeiden, ist es ratsam, robusten benutzerdefinierten Code zu verwenden oder sich auf gut getestete Bibliotheken zu verlassen.

Das obige ist der detaillierte Inhalt vonWie formatiere ich Datumsangaben mit Ordnungsindikatoren (1., 2., 3.) in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn