Foros del Web » Programando para Internet » PHP »

Formato de Hora

Estas en el tema de Formato de Hora en el foro de PHP en Foros del Web. Amigos: Una consulta. Para mostrar la hora en la cual se realizo un insert de cierto dato, como lo hace el mismo foro, al publicar ...
  #1 (permalink)  
Antiguo 30/11/2005, 22:04
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
Formato de Hora

Amigos:

Una consulta.

Para mostrar la hora en la cual se realizo un insert de cierto dato, como lo hace el mismo foro, al publicar la hora en que se realizo el post. tendría que:

Crear un campo "time" en mi BD y a través de ese campo podría presentar las horas, verdad?, como ven tengo la idea muy a groso modo, haber si existe algo de relevancia a tener en cuenta al armarlo.

Saludos
  #2 (permalink)  
Antiguo 01/12/2005, 04:57
 
Fecha de Ingreso: julio-2005
Ubicación: España
Mensajes: 91
Antigüedad: 12 años, 5 meses
Puntos: 0
Yo para las fechas en la BD uso un campo DATE

http://es.php.net/manual/es/function.date.php

http://www.desarrolloweb.com/articulos/1280.php
  #3 (permalink)  
Antiguo 01/12/2005, 05:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Deberías usar campos de tu BD tipo DATE o DATETIME para que puedas usar las funciones de SQL de Msyql para trabajar con fechas.

De hecho en SQL de Mysql tienees funciones para que te devuelvan la fecha/hora actual .. por ende para insertar la fecha/hora que hicistes tu "INSERT".

Por ejemplo si el campo es un DATETIME .. con NOW() obtienes la fecha con hora actual:
Código PHP:
$sql="INSERT INTO tabla (id,fecha,dato) VALUES ('',NOW(),'".$dato."')"
Revisa el capítulo de tratamiento de fechas de Mysql en:
http://dev.mysql.com/doc/refman/5.0/...functions.html

Por lo demás .. te insisto, si usas Base de datos y trabajas con esos datos, lo recomendable es que leas sobre SQL .. cuanto más sepas veras que muchas cosas que ahora buscas solución por parte de PHP se solventan de forma mas eficiente con SQL.

Un saludo,
  #4 (permalink)  
Antiguo 01/12/2005, 06:53
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
okey hoy trabajare el en tema, com bien dices Cluster se que estas funcionalidades se menejan de mejor manera usando mysql ... nada más que a probar..
  #5 (permalink)  
Antiguo 01/12/2005, 08:37
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
Ha quedado excelente, hice unos cambios al compo DATE que tenia en mi BD y lo cambie por DATETIME, y luego simplemente separe los datos fecha y horas aquí coloco parte del código y una breve explicación.

Con esto obtendrian la fecha según alguna condición especifica, sólo bastaría quitar el WHERE y traen todas las fechas del campo_fecha que pueda haber en su tabla, y este formato es el que nos permite dar la salida '%d/%m/%y' .
Código PHP:
// un select a la BD
$qr=mysql_query("SELECT DATE_FORMAT(campo_fecha, '%d/%m/%y') as mi_fecha FROM tabla_a_buscar WHERE campo1=algun_valor")or die(mysql_error());
$resultado=mysql_fetch_array($qr);
echo 
$resultado[mi_fecha]; 
y obtendriamos la fecha con formato tipo 23/09/2005

Como alcance siempre apliquen un "as" porque al aplicar el DATE_FORMAT este cambia el nombre del campo, y con "as" lo renombran (as mi_fecha) al que tenian o usan otro que más les parezca

Para mostrar la hora.
Código PHP:
$time=mysql_query("SELECT DATE_FORMAT(campo_fecha, '%T') as mi_fecha FROM tabla_a_buscar where WHERE campo1=algun_valor")or die(mysql_error());
$hour=mysql_fetch_array($time);
echo 
$hour[mi_fecha]; 
y con esto consegurian la hora 10:30:17, y con la ayuda del formato. '%T'

Creo que es un buen punto de comienzo.
Tambien pueden darse una vuelta por
http://www.rinconastur.net/php/php72.php, al final de esta página hay un buen par de ejemplos

Espero haber ayudado
Compartiendo el conocimiento
  #6 (permalink)  
Antiguo 01/12/2005, 13:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
También tienes dentro del SQL las funciones TIME() y DATE() para tomar sólo la fecha o sólo la hora de una fecha dada completa tipo DATETIME . .aunque es cierto que con DATE_FORMAT() también puedes hacer lo mismo.

Un saludo,
  #7 (permalink)  
Antiguo 01/12/2005, 13:28
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
Cita:
Iniciado por Cluster
También tienes dentro del SQL las funciones TIME() y DATE() para tomar sólo la fecha o sólo la hora de una fecha dada completa tipo DATETIME . .aunque es cierto que con DATE_FORMAT() también puedes hacer lo mismo.
así es, pense en crear un campo Time() & Date(), pero ya que en uno sólo DATETIME puedes traer los dos datos (Fecha/Hora), opte por no agregar un campo más a la BD y sólo ocupar "datetime" , pero como tu dices es otra manera para llegar al mismo resultado
  #8 (permalink)  
Antiguo 03/12/2005, 13:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por under_ground
así es, pense en crear un campo Time() & Date(), pero ya que en uno sólo DATETIME puedes traer los dos datos (Fecha/Hora), opte por no agregar un campo más a la BD y sólo ocupar "datetime" , pero como tu dices es otra manera para llegar al mismo resultado
Cuando hablaba de "Time()" o "Date()" me refiero a funciones (cuando usas () es una función) no a un campo tipo DATE o TIME que existe o uno tipo DATETIME .. Me refería al hecho de que usando un campo tipo DATETIME puedes usar esas dos funciones para obtener de forma rápida la hora o la fecha de una fecha+hora dada (lo que almacenas en un campo tipo datetime)

Un saludo,
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 17:47.