Foros del Web » Programando para Internet » PHP »

Necesito ayuda con el manejo de fechas y horas

Estas en el tema de Necesito ayuda con el manejo de fechas y horas en el foro de PHP en Foros del Web. Un saludo compañeros, espero que alguien pueda ayudarme con este problema, bueno la cosa esta asi A aprtir del contenido de un archivo de texto ...
  #1 (permalink)  
Antiguo 02/03/2006, 13:11
Avatar de ALUCARD81  
Fecha de Ingreso: abril-2005
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Necesito ayuda con el manejo de fechas y horas

Un saludo compañeros, espero que alguien pueda ayudarme con este problema, bueno la cosa esta asi

A aprtir del contenido de un archivo de texto plano, tengo que guardar los datos en una base de datos en mysql, hasta ahi todo va bien

el archivo es mas o menos asi

---020306juan.txt---
1 textotextotexto
1 textotextotexto
2 textotextotextotextotexto
1 textotextotextotexto

la tabla en la que guardo los datos tiene los siguientes campos

fecha -> donde guardo la fecha que leo del nombre del archivo o directamente del sistema lo + probable (eso aun no esta definido)

texto-> que es el texto que lei del archivo.txt

hora->casi como fecha namas que es la hora

codigo-->que es el primer caracter de la cadena

todo va bien, usando date y time obtengo ambos datos y los dejo formateados asi '02/03/2006' para la fecha y '12:30:00' para la hora, pero el momento que hago la adición, no guarda nada en la base de datos

estaba pensando en guardarlo como cadenas, pero el problema es que cuando tenga que hacer las consultas, necesito hacerlas por fecha, para que me muestre los registros de un determinado día, además de que necesit que este ordenados por orden de llegada o lo que es lo mismo por hora, es por eso que manejo esos 2 campos.

No se si me hice entender, pero lo que básicamente necesito es saber como guardar la fecha por una parte y la hora por otra parte en una BD MySQL desde PHP. Por favor espero que puedan ayudarme con este dilema.
  #2 (permalink)  
Antiguo 03/03/2006, 03:16
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
todo va bien, usando date y time obtengo ambos datos y los dejo formateados asi '02/03/2006' para la fecha y '12:30:00' para la hora, pero el momento que hago la adición, no guarda nada en la base de datos
Si tus campos son de tipo DATE no los inserta porque no es el formato adecuado... debe ser YYYY-MM-DD.

Ahora, no es necesario meter PHP, SQL tiene funciones nativas para eso y trabajarás mejor... para obtener la fecha usa CURDATE() y para la hora CURTIME().

http://dev.mysql.com/doc/refman/4.1/...functions.html

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 15/03/2006, 08:19
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 11 años, 9 meses
Puntos: 3
Yo tengo en la tabla un campo DATE y me pasa lo mismo. Cuando intento guardar la fecha me la guarda como 0000-00-00 cuando en realidad debería guardar 15-03-2006 pero no me funciona.

¿Como hago para guardarlo con el formato año-mes-dia?
agradezco su ayuda.
  #4 (permalink)  
Antiguo 15/03/2006, 08:23
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
rafaconpu... ya te respondí en el tema que creaste, por favor continua el tema original.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 15/03/2006, 08:25
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 11 años, 9 meses
Puntos: 3
Ya lo he visto el tema original. Voy a utilizar el explode para no deshacer todo lo que ya tengo montado.

Gracias jam1138
  #6 (permalink)  
Antiguo 15/03/2006, 08:49
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 11 meses
Puntos: 0
ALUCARD81

Yo uso tambien eso y cuando inserto en la base de datos lo hago asi

Código PHP:
//
$result2 mysql_query("insert into ".$tabla." (fecha) values(NOW())" .  mysql_error());
  if (!
$result2) {
     die(
'Invalid query: ' mysql_error());
     } 
y me inserta en el formato 2006/03/15

Espero te sirva
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #7 (permalink)  
Antiguo 15/03/2006, 08:52
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 11 años, 9 meses
Puntos: 3
fechas

Ya he obtenido el formato correcto de año/mes/dia para que en la tabla se guarde bien.

Una cuestión es que date("Y/m/d") me devuelve la fecha actual del sistema, pero ¿Y si quiero guardar una fecha introducida manualmente?

Yo la introduzco en el formato español: 16/04/2006.

¿Como cojo ahora esa fecha introducida y la transformo al formato año/mes/dia? (2006/04/16) para posteriormente guardarla.

He probado añadiendo a la función date ese valor pero no funciona.

Código PHP:
date("Y/m/d",$mifecha); 
  #8 (permalink)  
Antiguo 15/03/2006, 09:01
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 11 meses
Puntos: 0
Prueba con el codigo que coloque arriba
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #9 (permalink)  
Antiguo 15/03/2006, 09:11
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Como cojo ahora esa fecha introducida y la transformo al formato año/mes/dia?
En tu tema original... con explode(), viene en las FAQ...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #10 (permalink)  
Antiguo 15/03/2006, 09:15
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 11 meses
Puntos: 0
Código PHP:
<?

   $fe
$datos["fecha"];
       
$fecha strtolower(strftime("%Y/%m/%d"$fe));   

?>
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #11 (permalink)  
Antiguo 15/03/2006, 09:45
Avatar de bistoco  
Fecha de Ingreso: marzo-2006
Mensajes: 141
Antigüedad: 11 años, 9 meses
Puntos: 0
$fecha="16/04/2006";

$fecha=substr($fecha,6,4)."/".substr($fecha,3,2)."/".substr($fecha,0,2);

// eso refoematea la fecha a YYYY/MM/DD

Saludos
  #12 (permalink)  
Antiguo 12/06/2006, 10:38
Avatar de ALUCARD81  
Fecha de Ingreso: abril-2005
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 0
De acuerdo Gracias por la ayuda, estimados compañeros

Bueno, tomaré en cuenta sus sugerencias, para poder armar la cosa.

Vi un par que me parecen las mejores opciones, pero ahora me toca hacer la prueba.

Agradezco los cada uno de los post, gracias por tomarse el tiempo, un saludo y hasta la próxima
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 08:26.