Λαμβάνοντας υπόψη την εβδομάδα ημερών (1-7), πώς μπορώ να υπολογίσω τι καταληκτική ημερομηνία για την εβδομάδα-ημέρας ήταν;
Παράδειγμα: Σήμερα είναι Τετάρτη , 12/11/2008, και θέλω να ξέρω τι την περασμένη Παρασκευή ημερομηνία αυτή.
Λαμβάνοντας υπόψη την εβδομάδα ημερών (1-7), πώς μπορώ να υπολογίσω τι καταληκτική ημερομηνία για την εβδομάδα-ημέρας ήταν;
Παράδειγμα: Σήμερα είναι Τετάρτη , 12/11/2008, και θέλω να ξέρω τι την περασμένη Παρασκευή ημερομηνία αυτή.
Αν todayείναι η τρέχουσα ημέρα της εβδομάδας, τότε μπορείτε να χρησιμοποιήσετε κάτι σαν:
days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7
Αυτό προϋποθέτει ότι η Παρασκευή αντιπροσωπεύεται από τον αριθμό 6η ημέρα της εβδομάδας (δηλαδή, 1 αντιπροσωπεύει Κυριακή). Στη συνέχεια, αφαιρέστε days_since_fridayαπό την τρέχουσα ημερομηνία, και θα πάρετε την ημερομηνία το τέλος της περασμένης εβδομάδας.
Η παραπάνω έκφραση είναι λίγο πιο περίπλοκη από ό, τι χρειάζεται να είναι. Εάν ημέρα της εβδομάδας σας ξεκίνησε σε 0 για την Κυριακή, απλοποιεί σε:
days_since_friday = ((today + 7) - 5) % 7
ή
days_since_friday = (today + 2) % 7
Γενικά? Δείτε ημερολογιακούς υπολογισμούς .
Σε αυτό το στενότερο περίπτωση, κατά την προηγούμενη εβδομάδα; Βρείτε τη διαφορά σε ημέρες (Παρασκευή-= 5, Τετάρτη = 3). Βρείτε τις διαφορές σε εβδομάδες (την περασμένη εβδομάδα = -7 ημέρες). Όταν έχετε βρει το offset σε ημέρες + εβδομάδες, ισχύει ότι αντισταθμίζεται από την ημερομηνία ημερολογίου.