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!