data de cálculo para um dia da semana
-
08-07-2019 - |
Pergunta
Dada a-dia da semana (1-7), como posso calcular o que última data em que dia da semana era?
Exemplo:. Hoje é Quarta-feira , 2008/11/12, e eu quero saber o que última de sexta-feira data era
Solução
Se today
é o dia atual da semana, então você pode usar algo como:
days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7
Isso pressupõe que sexta-feira é representada por dia o número 6 da semana (ou seja, 1 representa domingo). Então days_since_friday
subtrair a partir da data atual, e você terá a data do final da semana passada.
A expressão acima é um pouco mais complicado do que precisa ser. Se o seu dia da semana começou no 0 para domingo, ele simplifica a:
days_since_friday = ((today + 7) - 5) % 7
ou
days_since_friday = (today + 2) % 7
Outras dicas
Em geral? Consulte Cálculos calendrical .
Neste caso estreito de dentro da semana anterior? Encontrar a diferença em dias (sexta-feira = 5, quarta = 3). Encontrar diferenças de semanas (na semana passada = -7 dias). Quando você encontrar o deslocamento em dias + semanas, aplicar esse deslocamento para a data do calendário.