Heim >Java >javaLernprogramm >Wie kann ich Ordnungsindikatoren (st, nd, rd, th) zur Formatierung des Monatstags in Java hinzufügen?

Wie kann ich Ordnungsindikatoren (st, nd, rd, th) zur Formatierung des Monatstags in Java hinzufügen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-17 07:43:25642Durchsuche

How Can I Add Ordinal Indicators (st, nd, rd, th) to Day-of-Month Formatting in Java?

Tag des Monats mit Ordinalindikator formatieren

Während SimpleDateFormat es Ihnen ermöglicht, den Tag des Monats als Zahl (TT) zu formatieren, Es bietet keine Möglichkeit, einen Ordnungsindikator einzufügen (z. B. 11., 21., 23.).

Um dies zu erreichen, können Sie eine Kombination aus Logik und String-Manipulation verwenden. Hier ist ein Beispiel:

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

Diese Funktion gibt den entsprechenden Ordinalindikator basierend auf dem angegebenen Tag des Monats zurück. Beispielsweise würde getDayOfMonthSuffix(11) „th“ zurückgeben.

Tabellenbasierte Lösungen vermeiden

Während es praktisch erscheinen mag, eine Tabelle zu verwenden, um Tage ihren Tagen zuzuordnen Bei ordinalen Indikatoren birgt dieser Ansatz das Risiko von Fehlern. Wenn beispielsweise die Tabelle fehlt oder Fehler enthält, kann es zu falschen Ergebnissen kommen. Der oben beschriebene Code-Ansatz beseitigt dieses potenzielle Problem, indem er Logik verwendet, um das Suffix dynamisch zu berechnen.

Das obige ist der detaillierte Inhalt vonWie kann ich Ordnungsindikatoren (st, nd, rd, th) zur Formatierung des Monatstags in Java hinzufügen?. 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