Wie man den letzten Sonntag vor dem aktuellen Datum?
Ich habe den folgenden code, der für immer der Letzte Sonntag vor dem aktuellen Datum:
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.WEEK_OF_YEAR, calendar.get(Calendar.WEEK_OF_YEAR)-1);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
Log.e("first day", String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)));
Aber dieser code funktioniert nicht. Bitte, sagen Sie mir, wie kann ich es beheben?
Was genau bedeutet 'dieser code funktioniert nicht' bedeuten, z.B. irgendwelche Ausnahmen?
Nein, es zeigt mir falsche Datum. Sorry.
Wenn Sie auf einen Sonntag, der Sonntag, die Sie wollen, dann?? Aktuelle oder der Letzte??
Mit deinem code zeigt er mir die richtige Antwort heute (ich.e er druckt, 7. Oktober 2012). Bedeutet nicht, es ist in der Regel richtig.
Welche Android-version Sie testen diese auf? Es sieht aus wie es ein Fehler in
Nein, es zeigt mir falsche Datum. Sorry.
Wenn Sie auf einen Sonntag, der Sonntag, die Sie wollen, dann?? Aktuelle oder der Letzte??
Mit deinem code zeigt er mir die richtige Antwort heute (ich.e er druckt, 7. Oktober 2012). Bedeutet nicht, es ist in der Regel richtig.
Welche Android-version Sie testen diese auf? Es sieht aus wie es ein Fehler in
Calendar.get(Calendar.WEEK_OF_YEAR)
in der Android-version < 2.2 (Froyo). Siehe anddev.org/other-coding-problems-f5/...InformationsquelleAutor malcoauri | 2012-10-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies funktionieren wird. Wir zum ersten mal die Tag zu zählen, und subtrahieren Sie dann, dass mit dem aktuellen Tag und fügen Sie 1 ( für Sonntag)
InformationsquelleAutor Jimmy
Dies kann einfach erreicht werden, indem TemporalAdjusters (Java 8+ nur).
Wenn heute Sonntag ist und Sie möchten, um den aktuellen Tag, dann:
InformationsquelleAutor Grzegorz Gajos
Könnte man die Iteration wieder in Schritten von einem Tag, bis Sie ankommen an einem Sonntag:
oder, in nur einem Schritt, subtrahieren die Differenz in Tagen zwischen Sonntag-und jetzt:
Jones: Vielleicht gibt es eine effizientere Art, aber wir reden hier über maximal 6 Iterationen. Diese Lösung sollte ein gutes Ergebnis liefern.
Seifert, Dieser code wird scheitern, wenn es runned am Sonntag.
Nein, es wird nicht scheitern. Es hängt davon ab, wie Sie interpretiert "der Letzte Sonntag vor dem aktuellen Datum". Wenn Sie nicht wollen, es zu umfassen heute können Sie eine do-while-Schleife.
InformationsquelleAutor dapek
Hier ist ein snippet zu berechnen, die in letzter Wochentag mit Joda:
Ersetzen Sie einfach
DateTimeConstants.THURSDAY
mit dem Tag der Wahl.InformationsquelleAutor linqu
InformationsquelleAutor cl-r
Folgende Werke für mich unabhängig davon, in welchem Monat und Jahr.
InformationsquelleAutor Viswanath Lekshmanan