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 .

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top