Foros del Web » Programando para Internet » PHP »

operar con fechas en formato 'YYYY-MM-DD HH:MM:SS'

Estas en el tema de operar con fechas en formato 'YYYY-MM-DD HH:MM:SS' en el foro de PHP en Foros del Web. hola a todos tengo una columna en mi tabla de tipo datetime y para obtener el valor para llenar esta columna uso Código PHP:  $fecha ...
  #1 (permalink)  
Antiguo 21/03/2009, 12:11
 
Fecha de Ingreso: enero-2009
Mensajes: 126
Antigüedad: 15 años, 3 meses
Puntos: 1
Pregunta operar con fechas en formato 'YYYY-MM-DD HH:MM:SS'

hola a todos tengo una columna en mi tabla de tipo datetime y para obtener el valor para llenar esta columna uso

Código PHP:
 $fecha=strftime"%Y-%m-%d-%H-%M-%S"time() ); 
aya bueno esta seria la hora de ingreso y lo que io quiero haceer es tener otra columna de hora de salida la cual tiene que clacularse automaticamente osea sumandole o bien horas dias o meses.

io pense en desglosar la cadena generada en variables $YYYY, $MM, $DD , $HH

e ir sumando o bien horas, dias o meses y hacer las respectivas validaciones como si HH > 24 entoces HH - 24 y DD + 1 y lo mismo para meses y años pero me preguntaba si no existe una funcion o clase en php que haga lo que quiero hacer
y no tener que implementar este algoritmo que me parece que no es muy eficiente.

Espero sus respuestas gracias.
  #2 (permalink)  
Antiguo 21/03/2009, 12:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: operar con fechas en formato 'YYYY-MM-DD HH:MM:SS'

Puedes hacer cálculos con fechas y horas usando strtotime():
http://www.php.net/strtotime
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 21/03/2009, 13:43
 
Fecha de Ingreso: enero-2009
Mensajes: 126
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: operar con fechas en formato 'YYYY-MM-DD HH:MM:SS'

porfa me podrias dar un ejemplo de como usra el strtotime() porfa vor :S
  #4 (permalink)  
Antiguo 21/03/2009, 13:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: operar con fechas en formato 'YYYY-MM-DD HH:MM:SS'

En el propio manual (en el enlace que te pasé) hay varios ejemplos de uso.

Básicamente, el primer parámetro es una cadena que contiene la operación con la fecha y el segundo parámetro el timestamp de ello.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 21/03/2009, 14:04
 
Fecha de Ingreso: enero-2009
Mensajes: 126
Antigüedad: 15 años, 3 meses
Puntos: 1
oks gracias david

disculpa que moleste denuevo XD pero el strtotime trabaja con cadenas del tipo 12 march 1987 y lo que io tengo es una cadena en el formato 'YYYY-MM-DD HH:MM:SS' asi que no me sirve de nada el strtotime

Última edición por GatorV; 21/03/2009 a las 22:44
  #6 (permalink)  
Antiguo 21/03/2009, 22:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: operar con fechas en formato 'YYYY-MM-DD HH:MM:SS'

Créme, puedes trabajar con strtotime() sin problema. Lo que estás haciendo en este momento es convertir la fecha actual al formato yyyy-mm-dd hh:mm:ss para guardarlo. Hasta ahí todo bien.

Pero si te fijas, no necesites hacer un cálculo usando ese formato, ya que podrías hacer algo como esto:
Código php:
Ver original
  1. $ahora = time();
  2. $suma = strtotime('+ 2 hours', $ahora);
  3. echo date('Y-m-d H:i:s', $ahora) . '<br />';
  4. echo date('Y-m-d H:i:s', $suma);
Más información sobre la función date: http://www.php.net/date

P.S.: En el ejemplo sumamos dos horas al timestamp actual, pero puedes hacer cualquier otro tipo de operación permitida por strtotime()
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 21/03/2009, 23:01
 
Fecha de Ingreso: enero-2009
Mensajes: 126
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: operar con fechas en formato 'YYYY-MM-DD HH:MM:SS'

woooo muchas gracias david en verdad que si se podia, aunque estoy teniendo un incoveniente me esta saliendo una hora adelantada osea en mi computadora es las 11:45 y el time me esta votando 12:45 me podrias decir a que se debe tal ves sea eso de horario de verano??
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 04:27.