Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-04-2016
muli muli is offline
Miembro
 
Registrado: jun 2003
Ubicación: A Coruña
Posts: 193
Poder: 21
muli Va por buen camino
Hora entre horas

Alguien conoce alguna función que me devuelva true si una hora (la actual por ejemplo), estaría comprendida entre una hora inicial y una hora final, independientemente de la fecha.

Saludos.
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE.
Responder Con Cita
  #2  
Antiguo 13-04-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por supuesto, es muy fácil, ¿cómo lo harías por lógica?
Responder Con Cita
  #3  
Antiguo 13-04-2016
muli muli is offline
Miembro
 
Registrado: jun 2003
Ubicación: A Coruña
Posts: 193
Poder: 21
muli Va por buen camino
Hombre, por lógica pienso que siendo A la hora que quiero mirar sería: Si A>horainicial y A<horafinal A estaría entre la hora inicial y l ahora final.Todo en campo time, claro en caso de querer desde las once de la noche hasta las 2 de madrugada, tendria que hacer uso de la fecha. No?

saludos
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE.
Responder Con Cita
  #4  
Antiguo 13-04-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Una hora o una fecha-hora es un valor numérico, así que es tan simple como has escrito. La parte entera es la fecha y los decimales es la hora ( ejemplo: 5245112212.3646745)
No sé si preguntas por hacerlo en delphi o para una base de datos, pero tienes muchas formas de hacerlo, dependiendo de lo que exactamente estés buscando.
Código Delphi [-]
if (fechahora>=fechahorainicio) and (fechahora<=fechafinal) then
begin
  hazloquesea;
  ...
end;
Responder Con Cita
  #5  
Antiguo 13-04-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Revisa la unidad DateUtils

Código Delphi [-]
{ InRange functions }

function DateTimeInRange(ADateTime: TDateTime; AStartDateTime, AEndDateTime: TDateTime; aInclusive: Boolean = True): Boolean;
function DateInRange(ADate: TDate; AStartDate, AEndDate: TDate; AInclusive: Boolean = True): Boolean;
function TimeInRange(ATime: TTime; AStartTime, AEndTime: TTime; AInclusive: Boolean = True): Boolean;
Responder Con Cita
  #6  
Antiguo 13-04-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Creo que no todas las versiones de Delphi traen esas funciones (no la veo en Delphi 7, al menos). En todo caso, siguiendo los pasos de maese Casimiro, podríamos usar esta versión simplificada:

Código Delphi [-]
function TimeInRange(ATime: TTime; AStartTime, AEndTime: TTime): Boolean;
begin
  Result := (Frac(AStartTime) <= Frac(ATime)) and (Frac(ATime) <= Frac(AEndTime));
end;

LineComment Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
buscar entre fecha y horas anubis SQL 2 01-01-2011 11:09:57
Sumarle a una fecha - hora (timestamp) una cierta cantidad de horas santiago14 SQL 9 19-07-2010 10:44:09
Pierdo un minuto entre horas Nomad Varios 2 13-02-2008 17:08:13
MinuteSpan... minutos entre horas mjjj Varios 1 25-06-2007 17:28:59
COmo llevar la hora del formato Am/Pm al de 24 horas? bustio Varios 1 14-01-2005 16:28:01


La franja horaria es GMT +2. Ahora son las 14:09:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi