2016-07-19 7 views
1

Erklärung: Ich möchte den Namen des Tages in der Woche und Datum der Woche ohne Samstag und Sonntag bekommen. Gibt es eine Möglichkeit, meine Anforderung zu erfüllen?Wie kann ich alle Tage Name in der Woche und alle Termine in der Woche ohne Samstag und Sonntag in Android?

unter Code i all das Datum der Woche hat mich

String[] days_si = new String[7]; 
     for (int i = 0; i < 7; i++) { 
      days_si[i] = format.format(calendar.getTime()); 
      calendar.add(Calendar.DAY_OF_MONTH, 1); 
     } 
     for (int i = 0; i < days_si.length; i++) { 
      Log.i(TAG, "Days : " + days_si[i].toString()); 
     } 

bitte, helfen, dieses Problem zu lösen out?

Antwort

0

finden unten, wie bestimmten Tag zu überspringen, und wie Tag Namen (kurz oder voll)

String[] days_si = new String[7]; 
for (int i = 0; i < 7; i++) { 

    //skip SATURDAY's 
    if(calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){ 
     calendar.add(Calendar.DAY_OF_MONTH, 1); 
     --i; //THIS PART TO AVOID EMPTY ARRAY ITEMS 
     continue; 
    } 

    //in your format pattern, use EEE to get short day name 
    //or use EEEE to get full name 
    days_si[i] = format.format(calendar.getTime()); 
    calendar.add(Calendar.DAY_OF_MONTH, 1); 
} 
for (int i = 0; i < days_si.length; i++) { 
    Log.i(TAG, "Days : " + days_si[i].toString()); 
} 

** mehr auf --i; //THIS PART TO AVOID EMPTY ARRAY ITEMS in einer Iteration zu bekommen, wenn ein Tag ist Samstag, dann wird die Schleife Überspringt, ohne dass ein Wert in days_si[i] hinzugefügt wird, was zu einem leeren Array-Slot führt, da die nächste Schleife i um 1 inkrementiert wird und so days_si[i-1] leer bleibt oder null bleibt.

Sie ein Array von Objekt (benutzerdefiniertes Objekt) benötigen enthält 2 Eigenschaften String dateOfDay und String nameOfDay, dieses Array verwenden Tag Datum und Wochentag Namen für Schleife in dem für jede Iteration speichern

, wenn Sie Ihre Ausgabe wollen in einer einzigen Zeile sein, zB: 2016-07-19 Dienstag dann überspringen Sie das benutzerdefinierte Objekt Teil

1

Sie sollten sich die verschiedenen Formatierungsmuster ansehen, die SimpleDateFormat bietet.

Zum Beispiel:

DateFormat format = new SimpleDateFormat("u EEEE"); 

geben Ihnen die Ausgabe als

Days : 7 Sunday 
Days : 1 Monday... 

Probieren Sie die verschiedenen Muster nach Ihren Bedürfnissen aus.


In Bezug auf den Teil, wo Sie wollen, Samstag und Sonntag überspringen: - Sie eine einfache if Prüfung in Ihrem ersten for Schleife, wenn die formatierte Zeichenfolge, um zu sehen hinzufügen können, die die format() Methode gibt die Saiten Samstag oder Sonntag enthält und Wenn ja, füge sie nicht zu deinem String-Array hinzu.

Verwandte Themen