Obliczanie daty na dzień tygodnia

głosy
1

Zważywszy na tydzień-dni (1-7), w jaki sposób można obliczyć, co to Week-day ostatnia data była?

Przykład: Dzisiaj jest środa , 12.11.2008, i chcę wiedzieć, co w ubiegłym Piątkowa data była.

Utwórz 12/11/2008 o 20:45
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
1

Jeśli todayjest obecny dzień tygodnia, a następnie można użyć coś takiego:

days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7

Zakłada się, że piątek jest reprezentowany przez liczbę dni 6 tygodnia (czyli 1 oznacza niedzielę). Następnie odjąć days_since_fridayod bieżącej daty, a dostaniesz datę końca ubiegłego tygodnia.

Powyższe wyrażenie jest nieco bardziej skomplikowana, niż to musi być. Jeśli dzień-of-tydzień rozpoczął się od 0 do niedzieli, to upraszcza się do:

days_since_friday = ((today + 7) - 5) % 7

lub

days_since_friday = (today + 2) % 7
Odpowiedział 12/11/2008 o 20:50
źródło użytkownik

głosy
4

Ogólnie? Zobacz Calendrical obliczeń .

W tym przypadku węższym ciągu ostatniego tygodnia? Znajdź różnicę dni (piątek = 5, środa = 3). Znajdź różnice w tygodnie (ostatni tydzień = -7 dni). Po znalezieniu przesunięcie w dni + tygodnie, że stosuje się przesunięcie do dnia kalendarzowego.

Odpowiedział 12/11/2008 o 20:53
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more