Foros del Web » Programando para Internet » PHP »

como puedo dar formato a una fecha con la funcion explode??

Estas en el tema de como puedo dar formato a una fecha con la funcion explode?? en el foro de PHP en Foros del Web. pues eso,no puedo usar la maravillosa funcion DATE FORMAT porque hago una consulta varias tablas y me da error a si que e pensado que ...
  #1 (permalink)  
Antiguo 08/08/2004, 08:43
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 10 meses
Puntos: 0
como puedo dar formato a una fecha con la funcion explode??

pues eso,no puedo usar la maravillosa funcion DATE FORMAT porque hago una consulta varias tablas y me da error a si que e pensado que quizas se pueda cambiar el formato con un explode,se puede?y de ser asi como???¿¿¿ y otra pregunta aprovechando el tema de las fechas como podria hacerlo para convertir la fecha de un campo date(es el mismo en donde esta la fecha del caso anterior)de hora española a hora de new york por ejemplo:D gracias
  #2 (permalink)  
Antiguo 08/08/2004, 14:09
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 5 meses
Puntos: 1
si te da error es por que no estas aplicando correctamente la funcion. Lo ideal seria que en vez de darle la vuelta al problema encuentres el error.

Para cambiar usos horarios simplemente investiga cuantas horas hay de diferencia entre cada lugar, y utiliza la funcion mktime() de PHP

Usando explode limitas el formato de la fecha. No se que clase de formato deseas, pero explode solo te serviria para poner Mes/Dia/Año, o cualquier derivado.

un saludo
  #3 (permalink)  
Antiguo 08/08/2004, 14:58
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 10 meses
Puntos: 0
lo que quiero es dia/mes/año :D la funcion la pongo bien porque en una consulta simple me funciona


gracias :D
  #4 (permalink)  
Antiguo 08/08/2004, 18:21
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 5 meses
Puntos: 1
pues simplemente has un explode separando por el caracter "-" que es el caracter que usa mysql para guardar las fechas, y luego reordena cada valor en el formato que deseas.

El hecho de que te funcione en una consulta, no quiere decir que te funcione en todas, cuando haces consultas multiples no aplican las mismas reglas. Tampoco si por alguna razon es un campo de tipo diferente etc.

un saludo
  #5 (permalink)  
Antiguo 08/08/2004, 18:34
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 10 meses
Puntos: 0
yap es muy raro pero el DATE FORMAT no me funciona :( weno muchas gracias :D
  #6 (permalink)  
Antiguo 08/08/2004, 20:27
Avatar de drcyber  
Fecha de Ingreso: julio-2002
Mensajes: 826
Antigüedad: 21 años, 8 meses
Puntos: 2
Brother...
Hazlo con explode() como tu dices, asi:

Código PHP:
$fecha=date();
$var explode('-',$fecha);
echo 
"$var[2]-$var[1]-$var[0]"
Donde $fecha contiene el resultado de la función date() la cual está ordenada de esta forma: año-mes-dia. Con ese explode() la conviertes a dia-mes-año.

Es un simple ejemplo. Tu lo adaptarás a tus necesidades. Un saludo!
__________________
Dr. Cyber
Ingeniarte.com
(soy el mismo Takitei)
  #7 (permalink)  
Antiguo 08/08/2004, 23:28
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Cita:
Iniciado por Newphp
yap es muy raro pero el DATE FORMAT no me funciona :( weno muchas gracias :D
Qué raro realmente. La verdad es que sería mejor utilizar la función directamente en el sql como DATE_FORMAT() y no dejarle esa tarea al php.
Y también sería bueno que postees la línea de código del SQL que contiene el DATE_FORMAT para poder encontrar el error. También indicar qué resultado obtienes o qué mensaje de error te da.

El ejemplo de drcyber debería funcionar bien, pero mejor sería (para ti mismo) encontrar el error que estabas cometiendo en lugar de esquivarlo.

Saludos
  #8 (permalink)  
Antiguo 09/08/2004, 02:08
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 10 meses
Puntos: 0
gracias a todos :D

bueno aqui pongo el codigo que uso :p pongo el format date en la consulta :D

asi:

consulta de una sola tabla:
Código PHP:
nombre,autor,DATE_FORMAT(fecha'%H:%i /%d/%m/%Y')AS newfecha 
asi todo ok pero si lo hago asi:

Código PHP:
CD.nombre,autor,DATE_FORMAT(fecha'%H:%i /%d/%m/%Y')AS fechaFormateada,artista.edad FROM etc.... 
me da el mismo error que cuando en una consulta nos equivocamos al escribir el nombre de una de las filas,este:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

gracias haber si encontramos el error,porque me tiene fritito xD
  #9 (permalink)  
Antiguo 09/08/2004, 06:12
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Para ver el error de la consulta, usa mysql_error() (www.php.net/mysql_error) despues del mysql_query().

Aunque por la descripcion del problema yo apostaria por una de estas dos opciones:

1.- No existe un campo llamado fecha.
2.- Existe mas de un campo fecha (en varias tablas).
3.- El error no tiene relacion con el campo fecha.

Si es 2, tendrias que indicar dentro de la funcion el campo de la forma tabla.campo, como haces con los otros campos que coinciden el nombre en mas de una tabla.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 09/08/2004, 07:43
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 10 meses
Puntos: 0
si que existe el dato fecha y creo que prove lo de campo.fecha pero lo volvere a intentar gracias :D
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:37.