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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top