FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda para comparar Horas
Amigos estoy haciendo una aplicacion de ingreso de personal por medio de un horario! ya los datos del horario estan en una tabla, la cual esta previamente relacionada con el personal!, Ahora mi pregunta es como hago para comparar dos Horas para ver si el empleado llego temprano ejm:
If now>adodatase1.recordset.fields.item['horallegada'].value then Retardado; pero no me sirve porque si por ejemplo son las 8:00 pm y la hora de llegada es a las 10:00 am me toma el 10:00 am como mayor :S porfavor ayudenme o aclarenme un poco la situacion
__________________
La vida es un simple pero complejo If J=rS
|
#2
|
||||
|
||||
Para las horas tienes que utilizar el formato de 24 horas, llamado "militar", o "ferroviario", además te recomiendo que utilices tambien la fecha, pues alguien que comience a trabajar a las 22h y finalice al dia siguiente por ejemplo a las 06h, te daría problemas de comparación.
En conclusión si utilizas un campo fecha/hora, puesto que hablas de Access, puedes almacenar ambos a la vez y luego hacer la comparación que proceda. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
Cita:
__________________
La vida es un simple pero complejo If J=rS
|
#4
|
||||
|
||||
Cita:
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
|||
|
|||
Hola.
Creo recordar que para ese tipo de cosas viene bien DateUtils... Yo me hice unas funciones hace tiempo a mano, pero creo que en DateUtils hay funciones para hacer eso, y más... De todas formas si no consigues, aquí te adjunto el código que hice... Código:
// Devuelve true sii F1 representa la misma fecha que F2 function Iguales(F1, F2: TDate): Boolean; begin Result := (Abs(StrToInt(FormatDateTime('YYYY', F1)) - StrToInt(FormatDateTime('YYYY', F2))) = 0) and (Abs(StrToInt(FormatDateTime('M', F1)) - StrToInt(FormatDateTime('M', F2))) = 0) and (Abs(StrToInt(FormatDateTime('D', F1)) - StrToInt(FormatDateTime('D', F2))) = 0) end; // Devuelve true sii F1 representa una fecha mayor que la fecha F2 function Mayor(F1, F2: TDate): Boolean; begin Result := (StrToInt(FormatDateTime('YYYY', F1)) - StrToInt(FormatDateTime('YYYY', F2)) > 0) or ((StrToInt(FormatDateTime('YYYY', F1)) - StrToInt(FormatDateTime('YYYY', F2)) = 0) and (DateToJuliana(F1) - DateToJuliana(F2) > 0)); end; // Devuelve true sii F1 representa una fecha menor que la misma fecha F2 function Menor(F1, F2: TDate): Boolean; begin Result := Mayor(F2, F1); end; Un saludo... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|