Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/02/2010, 13:58
Avatar de pepeverastegui
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