Berechnung Datum für einen Tag der Woche
-
08-07-2019 - |
Frage
Bei einer Woche-Tag (1-7), wie kann ich berechnen, was das Wochenende Tag letzter Tag war?
Beispiel: Heute ist Mittwoch , 2008.11.12, und ich möchte wissen, was letztes Freitag Datum war
Lösung
Wenn today
der aktuelle Tag der Woche ist, dann kann man so etwas wie verwenden:
days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7
Dies setzt voraus, dass der Freitag für Tag Nummer 6 der Woche dargestellt wird (dh, 1 für Sonntag). Dann days_since_friday
ab dem aktuellen Datum subtrahiert, und Sie werden das Datum des Endes der vergangenen Woche erhalten.
Der obige Ausdruck ist etwas komplizierter, als es sein muss. Wenn Sie die Tag-of-Woche bei 0 für Sonntag begonnen, es vereinfacht zu:
days_since_friday = ((today + 7) - 5) % 7
oder
days_since_friday = (today + 2) % 7
Andere Tipps
In der Regel? Siehe Kalenderberechnungen .
In diesem engeren Fall innerhalb der vergangenen Woche? Den Unterschied in Tagen (Freitag = 5, Mittwoch = 3). Finden Unterschiede in Wochen (letzte Woche = -7 Tage). Wenn Sie den Versatz in Tagen + Wochen gefunden haben, gelten die das Kalenderdatum ausgeglichen.