Foros del Web » Programando para Internet » PHP »

trabajando con Fechas [Ayuda]

Estas en el tema de trabajando con Fechas [Ayuda] en el foro de PHP en Foros del Web. Tengo un problemita, les cuento: yo tengo un formulario donde ingreso la fecha la hora y el minuto por separado ( consegui esos calendarios que ...
  #1 (permalink)  
Antiguo 23/02/2010, 11:29
 
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 14 años, 8 meses
Puntos: 1
trabajando con Fechas [Ayuda]

Tengo un problemita, les cuento:
yo tengo un formulario donde ingreso la fecha la hora y el minuto por separado (consegui esos calendarios que te lo hacen) a mi tabla de un partido, lo que quiero saber es como manipular estos datos para poder yo dividirlos en: proximos partidos, partidos empezados, y resultados o partidos terminados...le doy vueltas por muchos lados y no le atino una solucion... espero me puedan ayudarme. si fuera tan solo con fechas normal el problema es con el tiempo en horas y minutos, quizas sepan alguna manera mas eficiente de hacer esto, gracias .
  #2 (permalink)  
Antiguo 23/02/2010, 11:48
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: trabajando con Fechas [Ayuda]

pues no se si entendi bien,
a ver, veamos:
tu insertas una fecha una hora en la base de datos, luego quieres saber como hacer para mostrar partidos por empezar y partidos por finalizar?
pues si es esto, debes hacer algo mas complejo
ejemplo si la fecha es 12-03-2010 16:20:32, y luego un partido comienza en
12-03-2010 17:20:32 y otro finaliza en 20-03-2010 00:00:00....

juas!! creo que deberias hacerte una funcion que calcule las diferencias a partir de una fecha de ese modo puedes mostrar lo que falta y lo que ha termido....
yo me hice utilizando switch case....
pero no creo que te sirva ya que es mas complicado que lo que tu necesitas...

para hacer el mio use estos ejemplos:

http://www.webtutoriales.com/tutoria...fechas.14.html

http://www.forosdelweb.com/f18/calcu...s-como-322731/

http://www.tutores.org/?codigo=1416&...echas---mktime

saludos!!
  #3 (permalink)  
Antiguo 23/02/2010, 12:03
 
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: trabajando con Fechas [Ayuda]

gracias voy a revisarlos y luego te comento :)
  #4 (permalink)  
Antiguo 23/02/2010, 13:23
Avatar de pepeverastegui  
Fecha de Ingreso: septiembre-2008
Ubicación: Pedernales, Michoacan
Mensajes: 82
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: trabajando con Fechas [Ayuda]

se mas explicito que la verdad no entendi mucho, mira yo aca en la empresa tenia un problema de fechas.

resulta que debia de ver ciertos datos por dia de 6 de la mañana de un dia al 6 de la mañana del otro y eso para mi era un solo dia, pero mi problema es que en la base de datos estan dos campos 1 la fecha (date) otro la hora (char)

para solucionar eso ps concatene valores para poder sacar el unix time stamp y listo me funciono sin tanto rollo, si quieres mandame mensaje y vemos que onda
__________________
Ing. Jesus Verastegui
http://www.micharanga.com.mx
http://pepeverastegui.blogspot.com
  #5 (permalink)  
Antiguo 23/02/2010, 13:37
 
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: trabajando con Fechas [Ayuda]

es justamente ese mi problema ... yo tengo la fecha en un campo date y la hora y los minutos en otro campo de la tabla (int) el tipo de este ultimo lo de menos por q se modifica y si me interesa como le hiciste.

Como dije yo guardo la fecha , hora , minutos en campos diferentes de la tabla y quisiera ver como hiciste ...si pudieras un ejemplito asi todo el foro nos ganamos con el conocimiento :D
  #6 (permalink)  
Antiguo 23/02/2010, 13:58
Avatar de pepeverastegui  
Fecha de Ingreso: septiembre-2008
Ubicación: Pedernales, Michoacan
Mensajes: 82
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: trabajando con Fechas [Ayuda]

bueno mira aca como te digo un dia se maneja desde el dia x a las 6 de la mañana hasta las 5:59 de la mañana del dia x+1, pero aca la fecha es un campo y la hora es otro, ya que tu tienes 3 campos 1. fecha 2. hora y 3. minutos es el mismo fundamento

por ejemplo a mi me piden sacar un reporte de una fecha dada entonces mediante la funcion mktime saco el valor time stamp

Código PHP:
// ESTOS VALORES LOS PUEDES OBTENER DE UN FORMULARIO BASE DE DATOS
// BLABLABLA COMO QUIERAS
$fecha "23/07/2010";
$hora  "6";
$minuto "30";
$segundo "55";

// ENTONCES SEPARAS LOS CAMPOS DE DIA MES Y AÑO
// ESTO DEPENDE DE COMO VENGA LA FECHA EN LA VARIABLE FECHA
$dia   substr($fecha02);
$mes   substr($fecha32);
$anio  substr($fecha64);

$time_fecha mktime($hora$minuto$segundo$mes$dia$anio);
// Y LISTO YA TIENES TU TIME STAMP CON FECHA HORA Y SEGUNDOS

// SI NO TIENES SEGUNDOS PS UNICAMENTE QUITAS $segundo Y PONES 0

//AHORA POR DECIR TIENES QUEHACER UNA BUSQUEDA EN MYSQL COMO YO
// DIGAMOS

// ESTO ES DEMOSTRATIVO YA PONES LOS NOMBRES DE LOS CAMPOS A COMO 
// ESTAN EN TU BASE DE DATOS
$resultado mysql_query("SELECT CLAVE FROM tabla WHERE UNIX_TIMESTAMP(CONCAT_WS(' ', FECHA, CONCAT_WS(':', HORA, MINUTO, SEGUNDO))='$time_fecha'");

//EXPLICACION
// LO ANTERIOR HACE QUE SACA EL VALOR TIMESTAMP DE LA CONCATENACION
// DE LA FECHA, HORA, MINUTO Y SEGUNDO EN LA BASE DE DATOS Y BUSCA
// QUE SEA IDENTICO AL CALCULADO OBTENIDO DEL FORMULARIO O ESTATICO 

Ahora si lo que quieres es calcular entre rango de fechas y hora
Código PHP:
 
// ESTOS VALORES LOS PUEDES OBTENER DE UN FORMULARIO BASE DE DATOS
// BLABLABLA COMO QUIERAS
$fecha "23/07/2010";
$hora  "6";
$minuto "30";
$segundo "55";

// ENTONCES SEPARAS LOS CAMPOS DE DIA MES Y AÑO
// ESTO DEPENDE DE COMO VENGA LA FECHA EN LA VARIABLE FECHA
$dia   substr($fecha02);
$mes   substr($fecha32);
$anio  substr($fecha64);


// ATENCION ---- SI QUIERES UN RANGO DE FECHA ENTRE DADA Y 5 DIAS

$time_fecha1 mktime($hora$minuto$segundo$mes$dia$anio);
$time_fecha2 mktime($hora$minuto$segundo$mes$dia+5$anio);
// Y LISTO YA TIENES TU TIME STAMP CON FECHA HORA Y SEGUNDOS

// SI NO TIENES SEGUNDOS PS UNICAMENTE QUITAS $segundo Y PONES 0

//AHORA POR DECIR TIENES QUEHACER UNA BUSQUEDA EN MYSQL COMO YO
// DIGAMOS

// ESTO ES DEMOSTRATIVO YA PONES LOS NOMBRES DE LOS CAMPOS A COMO 
// ESTAN EN TU BASE DE DATOS
$resultado mysql_query("SELECT CLAVE FROM tabla WHERE UNIX_TIMESTAMP(CONCAT_WS(' ', FECHA, CONCAT_WS(':', HORA, MINUTO, SEGUNDO)) BETWEEN $time_fecha1 AND $time_fecha2");

//EXPLICACION
// LO ANTERIOR HACE QUE SACA EL VALOR TIMESTAMP DE LA CONCATENACION
// DE LA FECHA, HORA, MINUTO Y SEGUNDO EN LA BASE DE DATOS Y BUSCA
// QUE SEA IDENTICO AL CALCULADO OBTENIDO DEL FORMULARIO O ESTATICO 
__________________
Ing. Jesus Verastegui
http://www.micharanga.com.mx
http://pepeverastegui.blogspot.com
  #7 (permalink)  
Antiguo 23/02/2010, 14:17
 
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: trabajando con Fechas [Ayuda]

genial :D lo voy adaptar ami aplicación y te comento...karma pa ti =D
  #8 (permalink)  
Antiguo 23/02/2010, 14:29
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: trabajando con Fechas [Ayuda]

para insetar una fecha en mysql solo usa -->NOW()
justo estoy haciendo algo que requiee fecha hora si te sirve
Código PHP:
 $baneo "INSERT INTO errores_causados (numero_errores,IP,ultimo_error_mostrado) values (1, '$ip_address', NOW())";
       
$result mysql_query($baneo);
        
$resultado mysql_query($baneo);
      
$data mysql_fetch_array($resultado);
       
mysql_free_result($data ); 
el campo tabla debe ser
Código PHP:
datetime default NULL 
para hacer lo del ejemplo de pepeverastegui

usa esto : $fecha=date("Y-m-d H:i:s");
para guardar fecha sola usa $fecha=date("Y-m-d );
para guardar hora time();
creo que mas simple asi
eso te imprime la fecha con hora minutos.....

  #9 (permalink)  
Antiguo 24/02/2010, 10:13
 
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: trabajando con Fechas [Ayuda]

Bueno tengo un problema llenando la base datos cuando el insert me llena el campo fecha_final pero solo la fecha asi 17/08/88 00:00:00 hice varios intento y solo me inserta la fecha mas no la hora e probado cambiando el tipo del campo timestap a date time y nada...este es el codigo.espero me puedan ayudar

Código PHP:
$date $_REQUEST['date'];
    
$hour $_REQUEST['hour'];
    
$minute $_REQUEST['minute'];
    
$torneo $_REQUEST['torneo'];
    
    
$anio   substr($date04); 
    
$mes   substr($date52); 
    
$dia  substr($date82); 

    
$fec_fin date('Y-m-d'mktime($hour$minute0$mes$dia$anio)); 
  #10 (permalink)  
Antiguo 24/02/2010, 10:15
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: trabajando con Fechas [Ayuda]

Ehh, pues el formato que le estas pasando a date() es solo la fecha -_-
  #11 (permalink)  
Antiguo 24/02/2010, 10:17
 
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: trabajando con Fechas [Ayuda]

jeje ya me di cuenta el error y gracias al ejemplo de zerpico la linea debió ser así

Código PHP:
$fec_fin date('Y-m-d H:i:s'mktime($hour$minute0$mes$dia$anio)); 
pd:karma para zerpico tb y pues el post de arribita también tiene razón xD

Etiquetas: fechas
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 10:29.