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.
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"
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!