• Publicidad

Comparar horas

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Comparar horas

Notapor alcidesalarcon » 2007-12-04 16:40 @736

Hola compañeros...

¿Cómo puedo comparar si la hora actual hora está dentro de un rango?

El ejemplo sería:

Código: Seleccionar todo
HorarioAtencionInicial = 09:00
HorarioAtencionFinal = 18:00


Entonces, necesito saber si la hora que ejecuto el script entra en ese rango de horario.

Sería:

Código: Seleccionar todo
Si (HorarioAControlar >= HorarioAtencionInicial y
     HorarioAControlar <= HorarioAtencionFinal)
     
     return VERDADERO
SINO
     return FALSO
FIN-SI


Desde ya muchas gracias.

Saludos.
alcidesalarcon
Perlero nuevo
Perlero nuevo
 
Mensajes: 1
Registrado: 2007-12-04 16:31 @730

Publicidad

Notapor explorer » 2007-12-04 18:52 @828

Bienvenido a los foros de Perl en Español, alcidesalarcon.

La comparación de horas se puede hacer fácil, si hacemos una comparación alfabética, con la condición de que las horas estén bien escritas.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl

$HorarioAtencionInicial = '09:00';
$HorarioAtencionFinal   = '18:00';

sub dentro_del_rango {
    my $HorarioAControlar = shift;

    return
            $HorarioAControlar gt $HorarioAtencionInicial
        and
            $HorarioAControlar lt $HorarioAtencionFinal
}

my @horas = qw(
    16:24
    09:42
    03:00
);

foreach my $hora ( @horas ) {

    print "$hora ";

    if ( not dentro_del_rango($hora) )  {
        print 'no ';
    }

    print "está dentro del rango\n";
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Código: Seleccionar todo
16:24 está dentro del rango
09:42 está dentro del rango
03:00 no está dentro del rango
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

localtime() y sprintf()

Notapor Jenda » 2007-12-04 20:28 @894

Y para obtener la hora actual, bien escrita, se puede usar localtime() y sprintf().
Jenda
Perlero nuevo
Perlero nuevo
 
Mensajes: 132
Registrado: 2007-10-29 06:31 @313
Ubicación: Praga, Republica Checa


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados