2012-10-18 9 views
7

Bietet JodaTime diese Funktionalität? Bin nicht in der Dokumentation zu finden, vielleicht habe ich etwas verpasst? zeigt keine solche Funktion.JodaTime: Format Datum mit 1., 2., 3. usw. Tag

Wenn nicht, was, Parsing die resultierende Zeichenfolge und Match gegen Tag, Anhängen st, nd, th entsprechend?

Scheint hackish, dachte eine Bibliothek so umfassend und wunderbar wie JodaTime (es rockt ;-)) würde diese scheinbar einfache Funktion bieten.

Antwort

3

Werfen Sie einen Blick auf PrettyTime, die auf JodaTime gebaut wird.

+3

+1, aber, Mann, versuche nur, dieses Projekt aus der Tür zu bekommen, schmeiß mich nicht mehr ;-) – virtualeyes

14

Während Joda dies nicht direkt implementiert, benötigen Sie keine externe Bibliothek, greifen Sie einfach auf eine einfache Implementierung wie diese zurück.

/** 
* Returns the correct suffix for the last digit (1st, 2nd, .. , 13th, .. , 23rd) 
*/ 
public static String getLastDigitSufix(int number) { 
    switch((number<20) ? number : number%10) { 
     case 1 : return "st"; 
     case 2 : return "nd"; 
     case 3 : return "rd"; 
     default : return "th"; 
    } 
} 

Als Reaktion auf MHaris erzeugt der obige Code

for (int i = 0; i < 99; i++) { 
    System.out.print(i + getLastDigitSufix(i) + ", "); 
} 

0th, 1st, 2nd, 3rd, 4th, 5th, 6th, 7th, 8th, 9th, 
10th, 11th, 12th, 13th, 14th, 15th, 16th, 17th, 18th, 19th, 
20th, 21st, 22nd, 23rd, 24th, 25th, 26th, 27th, 28th, 29th, 
30th, 31st, 32nd, 33rd, 34th, 35th, 36th, 37th, 38th, 39th, 
40th, 41st, 42nd, 43rd, 44th, 45th, 46th, 47th, 48th, 49th, 
50th, 51st, 52nd, 53rd, 54th, 55th, 56th, 57th, 58th, 59th, 
60th, 61st, 62nd, 63rd, 64th, 65th, 66th, 67th, 68th, 69th, 
70th, 71st, 72nd, 73rd, 74th, 75th, 76th, 77th, 78th, 79th, 
80th, 81st, 82nd, 83rd, 84th, 85th, 86th, 87th, 88th, 89th, 
90th, 91st, 92nd, 93rd, 94th, 95th, 96th, 97th, 98th, 99th 

, die nach English Ordinals in Wikipedia korrekt aussieht.

+0

Sie könnten auch downvoted worden sein, weil die einfache Implementierung falsch war - dieses Code-Snippet erzeugt "11st "," 12nd "und" 13rd ", die alle das Suffix" th "haben sollten. Ich würde den Beitrag bearbeiten, aber die Warteschlange ist anscheinend voll. – MHarris

+1

@MHarris froh, dass Sie nicht bearbeitet haben. Sieht gut aus, überprüfe es selbst! :) – Frankie

+0

Oh, sehr nett! Sieht gut aus, mein Schlechter. :-) – MHarris

Verwandte Themen