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
Freigeben: 2024-12-17 03:20:25
Original
358 Leute haben es durchsucht

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";
    }
}
Nach dem Login kopieren

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"
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage