Foros del Web » Programando para Internet » PHP »

DATE_FORMAT en Update_time de SHOW TABLE STATUS

Estas en el tema de DATE_FORMAT en Update_time de SHOW TABLE STATUS en el foro de PHP en Foros del Web. Hola a todos... Hago esta consulta para tener la última actualización de una determinada tabla, funciona bien pero no logro cambiar el formato de fecha, ...
  #1 (permalink)  
Antiguo 18/11/2009, 13:57
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
DATE_FORMAT en Update_time de SHOW TABLE STATUS

Hola a todos...

Hago esta consulta para tener la última actualización de una determinada tabla, funciona bien pero no logro cambiar el formato de fecha, por ejemplo a Día Mes Año... por favor, agradezco si alguien me puede orientar!

Código PHP:
<?php

mysql_connect
("localhost","usuario","contraseña");
$result mysql_query("SHOW TABLE STATUS FROM nombre_base_datos LIKE 'nombre_tabla'");
while(
$array mysql_fetch_array($result)) {
$total $array[Data_length]+$array[Index_length];

echo 
'
Ultima Actualización: '
$array[Update_time] .'<br /><br />
'
;
}

?>
  #2 (permalink)  
Antiguo 18/11/2009, 14:00
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

Esto es php paulkees.

De igual forma, no veo que variable es la que maneja el tipo de dato fecha y en que formato se encuentra.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 18/11/2009, 14:08
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

Gracias huesos52...

Entonces estoy confundido, pido disculpas y por favor, si algún moderador lo puede cambiar aal foro PHP

Por otro lado, "cómo la variable que maneja el tipo de dato fecha y en que formato se encuentra" ?
  #4 (permalink)  
Antiguo 18/11/2009, 14:16
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

En cuanto a bases de datos no se que tan fiable sea tu consulta.

Código mysql:
Ver original
  1. mysql> select *from repetidos1;
  2. +------+--------+
  3. | id   | nombre |
  4. +------+--------+
  5. |    1 | daniel |
  6. |    2 | sara   |
  7. +------+--------+
  8. 2 rows in set (0.01 sec)
  9.  
  10. mysql> update repetidos1 set nombre='sara bastos' where id=2;
  11. Query OK, 1 row affected (0.01 sec)
  12. Rows matched: 1  Changed: 1  Warnings: 0
  13.  
  14. mysql> show table status from sgh like 'repetidos1';
  15. +------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----
  16. --------------+----------+----------------+----------------------+
  17. | Name       | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Coll
  18. ation         | Checksum | Create_options | Comment              |
  19. +------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----
  20. --------------+----------+----------------+----------------------+
  21. | repetidos1 | InnoDB |      10 | Compact    |    2 |           8192 |       16384 |               0 |            0 |         0 |           NULL | 2009-11-10 09:06:37 | NULL        | NULL       | lati
  22. n1_swedish_ci |     NULL |                | InnoDB free: 4096 kB |
  23. +------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----
  24. --------------+----------+----------------+----------------------+
  25. 1 row in set (0.01 sec)
  26.  
  27. mysql>

Depués de actualizar y revisar la tabla, el campo update_time me sigue apareciendo como null.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 18/11/2009, 14:22
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

Pues a mi me da la última actualización y coincide con la fecha de phpMyAdmin de la última vez que se actualizó la tabla
  #6 (permalink)  
Antiguo 18/11/2009, 14:53
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

Ok...
Como función de php debes hacer uso de explode

aca un ejemplo de su uso.
http://www.forosdelweb.com/f18/invertir-fechas-459782/

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 18/11/2009, 15:10
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

La verdad, no logro entender "explode" para darle formato a la fecha y que me lo imprima en la página como día mes y año
  #8 (permalink)  
Antiguo 18/11/2009, 15:15
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

Código php:
Ver original
  1. $fecha = '2009-11-18'; //yyyy-mm-dd
  2. $string_fecha = explode("-",$fecha); //se parte la cadena cuando encuentre un - y se almacena en el vector $string_fecha
  3. $fecha_invertida = $string_fecha[2]."/".$string_fecha[1]."/".$string_fecha[0];//se concatenan las posiciones del vector en el orden que queramos. Para este caso dd/mm/yyyy
  4. echo $fecha_invertida; //se imprime la fecha

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 18/11/2009 a las 15:21
  #9 (permalink)  
Antiguo 18/11/2009, 15:31
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

Lo que pasa es que "$array[Update_time]" me da la información por ejemplo así: 2009-11-02 11:52:36 y lo que quiero lograr, es que me la muestre así: 02-11-2009 y sin la hora, minutos y segundos, sólo el día, mes y año en ese orden.

Saludos.-
  #10 (permalink)  
Antiguo 18/11/2009, 15:46
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

Entonces con substr quita la hora antes de hacer el explode.

Código php:
Ver original
  1. $fecha =substr($array[Update_time],0,10); //yyyy-mm-dd
  2. $string_fecha = explode("-",$fecha); //se parte la cadena cuando encuentre un - y se almacena en el vector $string_fecha
  3. $fecha_invertida = $string_fecha[2]."/".$string_fecha[1]."/".$string_fecha[0];//se concatenan las posiciones del vector en el orden que queramos. Para este caso dd/mm/yyyy
  4. echo $fecha_invertida; //se imprime la fecha
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #11 (permalink)  
Antiguo 18/11/2009, 16:03
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

Muchas gracias huesos52...

Así funciona, pero no creí que era tan extenso... para mi hubiera sido muy complicado solucionarlo. Tal vez haya un método más simple, pero de esta forma funciona!

Gracias nuevamente!
  #12 (permalink)  
Antiguo 18/11/2009, 20:04
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Tema trasladado desde la sección de Mysql.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 24/08/2015, 21:31
 
Fecha de Ingreso: junio-2009
Mensajes: 16
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

Cita:
Iniciado por huesos52 Ver Mensaje
Entonces con substr quita la hora antes de hacer el explode.

Código php:
Ver original
  1. $fecha =substr($array[Update_time],0,10); //yyyy-mm-dd
  2. $string_fecha = explode("-",$fecha); //se parte la cadena cuando encuentre un - y se almacena en el vector $string_fecha
  3. $fecha_invertida = $string_fecha[2]."/".$string_fecha[1]."/".$string_fecha[0];//se concatenan las posiciones del vector en el orden que queramos. Para este caso dd/mm/yyyy
  4. echo $fecha_invertida; //se imprime la fecha
Quisiera saber como hago para que en vez de el estilo 08 / 12 /2015 me figure del formato lunes 08 de diciembre del 2015.
Gracias!!
  #14 (permalink)  
Antiguo 25/08/2015, 05:02
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: DATE_FORMAT en Update_time de SHOW TABLE STATUS

si hay metodos mas simples como estas 2 formas para formatear tu fecha:
Código PHP:
Ver original
  1. <?php
  2.  
  3. //ejemplo de pasar fecha a formato latino
  4. $fecha = "2009-11-02 11:52:36";
  5. list($a, $b) = explode(" ", $fecha);
  6. echo date("d-m-Y", strtotime($a))."<br><br>"; //devuelve la fecha 02-11-2009
  7.  
  8.  
  9. //pasar fecha a español y mostrarla completa
  10. setlocale(LC_ALL, 'spanish');
  11. $fecha2 = date("d-m-Y", strtotime($a));
  12. echo "Fecha en español: ".strftime("%A %d de %B de %Y", strtotime($fecha2)); //devuelve la fecha Lunes 02 de Noviembre de 2009
  13. ?>
__________________
[email protected]
HITCEL

Última edición por xfxstudios; 25/08/2015 a las 05:11
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 02:08.