Foros del Web » Programando para Internet » PHP »

Imprimir campo date

Estas en el tema de Imprimir campo date en el foro de PHP en Foros del Web. Hola a todos!! Tengo una duda que no se resolver... Se trata de un campo de mi BD tipo DATE (formato ingles) AAAA-MM-DD. Para imprimirlo ...
  #1 (permalink)  
Antiguo 29/07/2009, 06:49
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Imprimir campo date

Hola a todos!!

Tengo una duda que no se resolver...

Se trata de un campo de mi BD tipo DATE (formato ingles) AAAA-MM-DD.

Para imprimirlo correctamente utilizo esto, que le "da la vuelta" imprimiendo DD-MM-AAAA

$fecha=str_replace ("De","de",ucwords(strftime("%d+7/%m/%Y", mktime(substr($row_factura[12],11,2),substr($row_factura[12],14,2),substr($row_factura[12],17,2),substr($row_factura[12],5,2),substr($row_factura[12],8,2),substr($row_factura[12],0,4)))));


El problema, es que tengo que sumarle 7 dias a la impresión, y no se como hacerlo :( (teniendo en cuaneta que si estamos a 27-01-2009, tiene que quedar 03-02-2009 y NO 34-01-2009

Alguna idea? (lo de pasarlo a segundos lo veo un poco cutre no??)

Muchas gracias!!!!!!
  #2 (permalink)  
Antiguo 29/07/2009, 07:42
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Imprimir campo date

Que base de dato usas ??

Por que hay soluciones para sacar ese dato desde la base de datos y evitar hacer esa cantidad de funciones en php.
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 29/07/2009, 07:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Imprimir campo date

Con PHP lo puedes hacer así
Código PHP:
Ver original
  1. $numero_de_dias = 10;
  2. //Vamos a suponer que nos conectamos a la base de datos y este es la variable que almacena la informacion
  3. $query["Fecha"] = "18-07-2009";
  4. //DD-MM-AAAA
  5. $fecha = explode("-",$query["Fecha"]);
  6. echo date("Y-m-d",mktime(0,0,0,$fecha[1],$fecha[0]+$numero_de_dias,$fecha[2]));

Última edición por abimaelrc; 29/07/2009 a las 08:02
  #4 (permalink)  
Antiguo 29/07/2009, 08:03
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Imprimir campo date

Sigo insistiendo que no es necesario utilizar tanta funcion para eso :S (Esto es para mysql, en sql se puede hacer lo mismo pero de seguro con alguna otra funcion)

El campo DATE posee muchas funciones que nosotros hemos creado en php en algun momento, pero ojo que sirven para campos de tipo VARCHAR donde perdemos el control de las funciones a nivel de base de datos.

Te dejo el codigo para que veas que te conviene.
Código:
//En caso de tener hora en el campo
SELECT DATE_FORMAT(DATE_ADD('2009-07-10 23:59:59',INTERVAL 7 DAY), '%d %m %Y')

//En caso de no tener hora en el campo
SELECT DATE_FORMAT(DATE_ADD('2009-07-10',INTERVAL 7 DAY), '%d %m %Y')
Aca dejo el link para las funciones de fecha y hora en campos date.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 29/07/2009, 13:42
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Imprimir campo date

lo estoy intentando hacer como dice abimaelrc...

Y todo genial... problema resuelto :)

Gracias a todos!! Creo que es un problema un poco trillado, he encontrado muchas opciones en este foro, pero ninguna asi eficiente... se agradece vuestra ayuda chicos!!
  #6 (permalink)  
Antiguo 29/07/2009, 14:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Imprimir campo date

En realidad lo mejor es hacerlo como dice Marvin. Solo di el metodo de hacerlo con PHP. Pero para que sea eficiente el codigo lo mejor es hacerlo del lado de la base de datos
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:32.