Foros del Web » Programando para Internet » PHP »

Fechas en PHP (date)

Estas en el tema de Fechas en PHP (date) en el foro de PHP en Foros del Web. Hola foro, Mi duda es simple. Estuve hace poco probando las funciones date de PHP y no logro encontrar la forma de hacer lo siguiente ...
  #1 (permalink)  
Antiguo 04/04/2011, 08:33
Avatar de TyrantRC  
Fecha de Ingreso: noviembre-2009
Mensajes: 55
Antigüedad: 14 años, 4 meses
Puntos: 1
Fechas en PHP (date)

Hola foro,

Mi duda es simple. Estuve hace poco probando las funciones date de PHP y no logro encontrar la forma de hacer lo siguiente

Necesito restarle exactamente un mes al mes actual. Validar que no sea una fecha invalida y retornar dicho valor

Ejemplos:

Hoy es 4 Abril.. Resto un mes = 4 Marzo

Hoy es 31 Marzo.. Resto un mes = 28 febrero

Hoy es 31 Diciembre.. Resto un mes = 30 Noviembre

Hoy es 18 de agosto.. Resto un mes = 18 Julio


como veran es un facil concepto.. sin embargo las funciones php no relacionan fechas entre dias y mes.. o al menos yo no se hacerlo. Entonces cuando intento hacer alguna solucion ocurre que solo me resta 28 dias osea 4 semanas exactas, o simplement me resta el mes y da error en la fechas como marzo febrero


Alguien tiene alguna idea??

Gracias de antemano
  #2 (permalink)  
Antiguo 04/04/2011, 08:37
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Respuesta: Fechas en PHP (date)

creo que lo que necesitas es esto
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 04/04/2011, 09:22
Avatar de TyrantRC  
Fecha de Ingreso: noviembre-2009
Mensajes: 55
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Fechas en PHP (date)

Cita:
Iniciado por eits Ver Mensaje
creo que lo que necesitas es esto
saludos.
Código PHP:
<?php 
$fecha 
date_create(date('Y-m-d'));
date_sub($fechadate_interval_create_from_date_string('1 month'));
echo 
date_format($fecha'Y-m-d');

echo 
"<br />";

$fecha date_create('2011-03-31');
date_sub($fechadate_interval_create_from_date_string('1 month'));
echo 
date_format($fecha'Y-m-d');
?>
resultados

2011-03-04
2011-03-03


como veras el primero funciona a la perfeccion, sin embargo el segundo no me devuelve a febrero sino que directamente resta 4 semanas independientemente de cuantos dias tenga, o de que mes sea.

De todas formas gracias.. Estan muy buenas esas funciones, no las conocia

PD: hare una funcion a partir de aqui para validar eso del mes xd

Saludos
  #4 (permalink)  
Antiguo 04/04/2011, 09:29
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Fechas en PHP (date)

http://php.net/manual/es/function.mktime.php

Código PHP:
<?
echo date("d/m/Y",mktime(date("H"),date("i"),date("s"),date("n")-1,date("j"),date("Y")));

?>

Etiquetas: date, fechas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:45.