Este artículo es útil para ver el funcionamiento combinado de "date" y "mktime" y muestra una función que devuelve la fecha en formato "dd/mm/yyyy" del último día pasado.
Si se quiere cambiar el formato de la fecha devuelta, habría que cambiar la siguiente línea por el formato deseado:
return(date("d/m/Y", $fecha));
Por ejemplo si quisiéramos 'mm-dd-aa':
return(date("m-d-y", $fecha));
La función recibe un día de la semana ($dia_semana), siendo 1 lunes, 2 martes, etc. hasta el domingo que puede ser 7 ó 0. Si recibe un valor mayor que 7 o menor que 0 devuelve error (-1).
Recibe también las semanas transcurridas de forma que si se le pasa un 1 buscará el último día de la semana pasado, un 2 buscará el día de la semana anterior y así sucesivamente. Debe recibir un número positivo que no sea 0 o devolverá error (-1)
<?php
//Copyright © McAnam.com
function fecha_pasada($dia_semana, $semanas_transcurridas){
$sale = 0;
$cont = 0;
if (($dia_semana > 7) || ($dia_semana < 0) || ($semanas_transcurridas < 1)) return -1;
if ($dia_semana == 7) $dia_semana=0;
while (!$sale){
$fecha = mktime(0,0,0,date("m"), date("d") - $cont++, date("Y"));
$dia = date("w", $fecha);
if ($dia == $dia_semana){
if ($semanas_transcurridas > 1)
$semanas_transcurridas--;
else
$sale = 1;
}
}
return(date("d/m/Y", $fecha));
}
//Ejemplos de utilización
echo "Último lunes: ".fecha_pasada(1,1);
echo "<br>";
echo "Hace 2 domingos: ".fecha_pasada(7,2);
?>
Usuarios que han visto este tema también han visto...
- Resultados de una consulta a la BD en dos columnas
- Dirección IP
- Htaccess y páginas dinámicas en PHP
- Operadores Matemáticos en PHP
- Comprobar si un usuario es válido con Ajax y PHP
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.