Necesito encontrar la fecha del lunes de la semana actual. ¿Cómo puedo hacer esto en PHP 4?Obtener la fecha del lunes en la semana actual en PHP 4
Respuesta
echo date('Y-m-d', strtotime('previous monday'));
Solo una nota, sin embargo. Desea asegurarse de que no sea lunes hoy, de lo contrario obtendrá la fecha anterior lunes, como se indica. Usted puede hacerlo de la siguiente manera
if (date('w') == 1)
{
// today is monday
}
else
{
// find last monday
}
Esto da una fecha de hace una semana si hoy es un lunes. – nickf
@nickf: ver la respuesta actualizada. Lo recordé después de publicar ... :) –
Ten cuidado con la verbosidad que usas con strtotime, el "lunes anterior" te llegará hace una semana los lunes, cuando realmente quieres el día actual. IIRC, esta semana en php significa de lunes a domingo, pero si aplicara su respuesta para encontrar la fecha del martes, por ejemplo, esto le daría el resultado incorrecto tanto el lunes como el martes. –
echo date('Y-m-d',time()+(1 - date('w'))*24*3600);
Para la próxima semana:
echo date('Y-m-d',time()+(8 - date('w'))*24*3600);
1 para el lunes, 2 Martes, 3 Miércoles y así sucesivamente. Pruebalo.
Mi intento:
<?php
$weekday = date("w") - 1;
if ($weekday < 0)
{
$weekday += 7;
}
echo "Monday this week : ", date("Y-m-d",time() - $weekday * 86400) , "\n";
?>
Prueba esto:
return strtotime('last monday', strtotime('next sunday'));
¿Y si hoy es domingo? :) –
@ mr.b - entonces todavía debe actuar como se desee (suponiendo que el domingo es el comienzo de la semana) – nickf
Esta es mi solución favorita para recibir el lunes a las 00:00:00. Otra forma (menos elegante) de obtener esto es 'mktime (0,0,0, date ('m'), date ('j') - date ('N') + 1, date ('Y'))' – neokio
Prueba esto.
echo date('Y-m-d', strtotime('last monday', strtotime('next monday')));
Devolverá la fecha actual si hoy es lunes y regresará el último lunes de lo contrario. Al menos lo hace en mi PHP 5.2.4 en la configuración en_US.
$thisMonday = date('l, F d, Y', time() - ((date('w')-1) * 86400));
Editar: explicación
date('w')
es una representación numérica del día de la semana (0 = Domingo, 6 = Sábado)- hay 86400 segundos en un día
- tomamos la hora actual y restamos (un día * (día de la semana - 1))
Por lo tanto, si se encuentra actualmente Miércoles (día 3), el lunes es hace dos días:
time() - (86400 * (3 - 1))
= time() - 86400 * 2
Si es lunes (día 1), obtenemos:
time() - (86400 * (1 - 1))
= time() - 86400 * 0
= time()
Si es domingo (día 0), lunes es mañana.
time() - (86400 * (0 - 1))
= time() - -86400
= time() + 86400
Easisest manera:
$time = strtotime('monday this week');
¡Hah! Cuando dicen [diga] (http://php.net/manual/en/function.strtotime.php) "Parse sobre cualquier descripción de fecha y hora textual en inglés en una marca de tiempo Unix", realmente lo dicen en serio, ¿no? +1 para la solución más legible –
+1! Solución realmente fácil Me alegro de haber buscado esto, porque ya estaba construyendo una construcción elaborada para determinar la fecha del lunes. Typo sin embargo: 'strotime' debe ser' strtotime'. – Alec
hoy es jueves 2012/05/17 (Y-m-d), cuando echo (fecha ('Y-m-d', strtotime ('lunes esta semana'))); va el 21/05/05, que es el lunes de la próxima semana – r4ccoon
Prueba este
$day_of_week = date("N") - 1;
$monday_time = strtotime("-$day_of_week days");
- 1. Recuperar la fecha del lunes de la semana actual
- 2. ¿Obtener la fecha del primer lunes de la semana?
- 3. Obtener fecha para el lunes y el viernes para la semana actual (PHP)
- 4. Buscar fecha específica en la semana actual
- 5. PHP strtotime() diferentes resultados del lunes de esta semana
- 6. cómo obtener la fecha de la semana pasada (martes o cualquier otro día) en php?
- 7. código Ruby para obtener la fecha del próximo lunes (o cualquier día de la semana)
- 8. buscando el día de inicio (lunes) de la semana actual
- 9. Obtenga la fecha de inicio y la fecha de finalización de la semana actual (inicio de la semana del lunes y finaliza el domingo)
- 10. Buscar la fecha del lunes con Python
- 11. obtener enésimo día de la semana del mes en C#
- 12. ¿Obtener la fecha actual, dada una zona horaria en PHP?
- 13. PHP, Cómo obtener la fecha actual en un formato determinado
- 14. En .net, conociendo el número de semana ¿cómo puedo obtener la fecha de la semana?
- 15. Cambiando el día de inicio de la semana de 'lunes' a 'martes' en Php
- 16. Obtener la fecha/hora actual en segundos
- 17. Obtener marcas de tiempo de la semana actual
- 18. T-sql Lunes antes de la fecha
- 19. php - encuentra la fecha para el mismo día de la semana del año pasado
- 20. joda time - agregar días de la semana a la fecha
- 21. obtener la fecha actual y la fecha después de dos meses en php
- 22. de año y semana hasta la fecha en php
- 23. Obtener el día de la semana en SQL 2005/2008
- 24. mysql semana de lunes a domingo
- 25. ¿Cómo obtengo el primer día de la semana para la configuración regional actual? (PHP/L8N)
- 26. Obteniendo el día del día actual en PHP
- 27. Obteniendo el año y la semana del año desde la fecha de PHP() cuando la semana abarca dos años
- 28. Obtener la ubicación actual del usuario en PHP
- 29. Obtener la fecha del día específico de la semana en JavaScript
- 30. Fecha actual menos 4 meses?
Realmente siento por tener que trabajar en PHP4, porque la funcionalidad fecha de PHP5 es * waaaay * mejor.También PHP4 ha sido oficialmente End-of-Life desde hace un tiempo, por lo que no tendrá más parches y probablemente sea inseguro; de todos modos, ya no debería estar en producción. – Spudley