Foros del Web » Programando para Internet » PHP »

AAAA-MM-DD a DD/MM/AAAA fecha

Estas en el tema de AAAA-MM-DD a DD/MM/AAAA fecha en el foro de PHP en Foros del Web. Hola a todos, quiero cambiar el formato de una fecha de MySql. Antes utilizaba la funcion ereg() pero ahora esta obsoleta. Cita: Deprecated: Function ereg() ...
  #1 (permalink)  
Antiguo 11/09/2011, 08:25
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
AAAA-MM-DD a DD/MM/AAAA fecha

Hola a todos, quiero cambiar el formato de una fecha de MySql.
Antes utilizaba la funcion ereg() pero ahora esta obsoleta.

Cita:
Deprecated: Function ereg() is deprecated in C:\xampp\htdocs\objetos\descripciones.php on line 41
Un saludo y gracias
  #2 (permalink)  
Antiguo 11/09/2011, 08:46
Avatar de Raziel_Ravenheart  
Fecha de Ingreso: agosto-2011
Ubicación: Ibagué, Tolima
Mensajes: 192
Antigüedad: 12 años, 7 meses
Puntos: 37
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

Puedes hacerlo del modo entendible, es decir, obteniendo la fecha de la base de datos, luego utilizas las funciones date de php para cambiar el formato, sin complicarte con expresiones regulares, es decir:
Código PHP:
Ver original
  1. /*Guardas el valor de la fecha en alguna variable, suponiendo que viene de un
  2. resultado de la función mysql_query y mysql_fetch_assoc o
  3. mysql_fetch_row.  En lo personal siempre utilizo mysql_fetch_assoc, por que me recupera todos los valores
  4. del registro con el nombre de la columna*/
  5. $fecha = $registro['fecha'];
  6.  
  7. //Una vez con el dato en formato AAAA-MM-DD, q a su vez es un string, lo convierto en un
  8. //objeto fecha de php
  9. $objFecha = new DateTime($fecha);
  10.  
  11. //y luego puedes hacer
  12. echo $objFecha->format('Y/m/d');
  13.  
  14. //o
  15.  
  16. echo date_format($objFecha, 'Y/m/d');

Eso también lo hago con fechas en javascript, por que teniendo el objeto, ya es más fácil utilizar las funciones de formato de fechas que trae el lenguaje. De este modo entiendes como lo estas convirtiendo y por que,

Te dejo el enlace donde explican el formato:

http://co.php.net/manual/es/function.date.php
  #3 (permalink)  
Antiguo 11/09/2011, 09:35
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

Muchisimas gracias. Mi funcion quedo asi:
Código PHP:
Ver original
  1. function fecha($fecha){
  2.         $dat = new DateTime($fecha);
  3.         return $dat->format('d - m - Y');
  4. }

Un saludo
  #4 (permalink)  
Antiguo 11/09/2011, 11:03
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

incluso si lo traes de la base de datos puedes utilizar la función DATE_FORMAT, y te ahorras escribir funciones en PHP, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 11/09/2011, 11:37
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

Se puede lograr directamente con DATE_FORMAT de mysql, es la forma como yo lo haría, ya que procede de una base de datos.

Edito: Ups eso me pasa por no leer todos los mensajes e ir directo a la contestación
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 11/09/2011, 15:48
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

Y como se utilizaria DATE_FORMAT?
Osea, como se llama y donde a esta funcion?

Un saludo y gracias
  #7 (permalink)  
Antiguo 11/09/2011, 15:52
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 3 meses
Puntos: 306
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

Hola
Aquí podrás encontrar una referencia al uso del DATE_FORMAT:
http://dev.mysql.com/doc/refman/5.0/...functions.html

Saludos
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #8 (permalink)  
Antiguo 11/09/2011, 18:04
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

Si lo he leido pero no se donde se llama a esa funcion. En el query de mysql en el archivo php?
Estoy perdido con eso xD

Gracias y un saludo
  #9 (permalink)  
Antiguo 11/09/2011, 19:24
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

si es parte del query de MySql donde deberías de llamarla?? tu mismo te deberías de dar la respuesta, en los link que te hemos dejado esta como funciona
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #10 (permalink)  
Antiguo 11/09/2011, 20:18
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

Aunque creo que no era muy costoso aclararme esa duda ya que no entendia donde se utilizaba la funcion, revisando otras paginas me quedo claro.
Pero me salta un error.

Mi consulta es la siguiente:
Código PHP:
Ver original
  1. "SELECT contenido, DATE_FORMAT(fecha_act,'%d-%m-%Y') FROM descripciones WHERE tipo='".$this->tipo."' "

Y el error que me da es este:
Cita:
Notice: Undefined index: fecha_act in C:\xampp\htdocs\objetos\descripciones.php on line 20
Antes no me salia ningun error, un saludo.
  #11 (permalink)  
Antiguo 11/09/2011, 20:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

Te faltaría en ese caso asignar un alias:
Código MySQL:
Ver original
  1.    blah,
  2.    DATE_FORMAT(col, '%d-%m-%Y') AS other_blah
  3.    foo

Con el AS creas un alias y puedes rescatar la columna.

Saludos.
  #12 (permalink)  
Antiguo 11/09/2011, 20:37
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

Ok, funciona perfecto ahora. Gracias.

Cual es la explicacion de necesitar un alias?

Un saludo
  #13 (permalink)  
Antiguo 11/09/2011, 20:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

¿Como llamarias una columna que estas customizando?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #14 (permalink)  
Antiguo 12/09/2011, 09:17
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Como llamarias una columna que estas customizando?
Pues no lo se.
  #15 (permalink)  
Antiguo 12/09/2011, 10:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

La pregunta es para que entiendas por donde va la pregunta tuya. Es decir si no creas un alias ¿como llamarias ese campo que estás customizando? Hay dos formas, una es usar array numéricos y otra es usar array asosiativo, para poder tomar el array asociativo, requieres del alias. La única diferencia que ya no es requisito usar as para declarar un alias, también se puede hacer algo como
Código MySQL:
Ver original
  1.    blah,
  2.    DATE_FORMAT(col, '%d-%m-%Y') other_blah
  3.    foo
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #16 (permalink)  
Antiguo 12/09/2011, 19:22
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: AAAA-MM-DD a DD/MM/AAAA fecha

Vale, ahora lo entendi.

Gracias por la paciencia. Un saludo

Etiquetas: fecha, mysql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:01.