2016-10-27 25 views
0

Gibt es eine Möglichkeit, wie ich Tage der Woche als 2 Buchstaben bekommen kann?Java Tage der Woche in 2 Buchstaben für jeden Ort

Ex: So, Mo, Di, Mi ....

habe ich versucht, Java DateFormatSymbols und es gibt drei Buchstaben kurze Namen für Tage.

DateFormatSymbols symbols = new DateFormatSymbols(this.locale); 
    symbols.getShortWeekdays(); 

Auch ich habe versucht, mit Kalender-Klasse wie folgt;

Calendar cal = Calendar.getInstance(); 
    DateFormat dayFormat = new SimpleDateFormat("EE", this.locale); 
    for (int i = 0; i < 7; i++) { 
     cal.set(Calendar.DAY_OF_WEEK, i); 
     System.out.println(dayFormat.format(cal.getTime())); 
    } 

Aber es gibt immer 3 Brief Tage. Ich konnte die Teilzeichenfolge nicht verwenden, da sie vom Gebietsschema abhängt.

+0

_I couldn verwende keinen Teilstring, da er vom Gebietsschema abhängt. Ja, es gibt auch Argumente für. Überprüfen Sie die Länge und verwenden Sie den Teilstring danach? Ich sehe darin keine Probleme. – asdf

Antwort

0

Sieht aus wie DateFormatSymbols has a setShortWeekdays function, die es Ihnen ermöglichen wird, sie (wahrscheinlich) zu setzen, was immer Sie möchten. Nicht ideal oder sogar automatisch.

+0

Ich muss es für jedes Gebietsschema bekommen. Das Festlegen von Werten würde mein Problem nicht lösen. – JagKum

+0

Es erscheint 'DateFormatSymbols'' 'shortWeekdays' standardmäßig auf 3 (obwohl es das nicht explizit * sagt). Fragen Sie, wo Sie diese zwei Buchstabenfolgen für jedes Gebietsschema erhalten könnten? – tenCupMaximum

+0

Vielen Dank für Ihre Antwort. Ja, ich brauche eine 2-stellige Tag-Zeichenfolge für jedes Gebietsschema. Wird die ursprüngliche Frage aktualisieren. – JagKum

0

Der beste Weg, dies zu tun ist, um den 3-Buchstaben-String zu nehmen und es durch einen Schalter Fall passieren oder if-else-if-Anweisung wie so das gewünschte 2-Buchstaben-String zurück ...

public static String getTwoLetters(){ 
    String threeLetterDay = null; 
    switch (threeLetterDay) { 
     case "Sun": 
      return "Su"; 
     case "Mon": 
      return "Mo"; 
     case "Tue": 
      return "Tu"; 
     case "Wed": 
      return "We"; 
     case "Thu": 
      return "Th"; 
     case "Fri": 
      return "Fr"; 
     default: 
      //if none of the above then it must be this one Sat 
      return "Sa"; 
    } 
} 
+0

Ich muss es für jedes Gebietsschema erhalten. Das würde für mein Problem nicht funktionieren. – JagKum

+0

Dann verwenden Sie einfach einen Teilstring. String twoLetterDay = threeLetterDay.substring ( –

+0

Funktioniert ein Teilstring? TwoDay = threeDaystring (threeDay.length-3, threeDay.length-1); –

Verwandte Themen