Calcular fecha para un día de la semana
-
08-07-2019 - |
Pregunta
Dado un día de la semana (1-7), ¿cómo puedo calcular cuál fue la última fecha de ese día de la semana?
Ejemplo: Hoy es miércoles , 12/11/2008 y quiero saber cuál fue la última fecha del viernes .
Solución
Si hoy
es el día actual de la semana, puede usar algo como:
days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7
Esto supone que el viernes está representado por el día número 6 de la semana (es decir, 1 representa el domingo). Luego reste days_since_friday
de la fecha actual, y obtendrá la fecha del final de la semana pasada.
La expresión anterior es un poco más complicada de lo que debe ser. Si su día de la semana comenzó en 0 para el domingo, se simplifica a:
days_since_friday = ((today + 7) - 5) % 7
o
days_since_friday = (today + 2) % 7
Otros consejos
En general? Consulte Cálculos de calendario .
¿En este caso más estrecho de la semana anterior? Encuentra la diferencia en días (viernes = 5, miércoles = 3). Encuentra las diferencias en semanas (última semana = -7 días). Cuando haya encontrado la compensación en días + semanas, aplique esa compensación a la fecha del calendario.