The "easiest" way is to use
localtime and/or
Time::Local
to convert from whatever date/time format you are using
into the standard UNIX time_t format. This is a numerical
value representing the number of seconds elapsed from
January 1, 1970 GMT. Since it is just a number at this point,
it is very easy to do math and comparisons on two values,
even from different time-zones, or from the same time
zone during Daylight Savings and Standard Time.
As such, once you have converted your min and max to simple
time_t format, it is a case of comparison like:
if ($the_time >= $min_time && $the_time <= $max_time)
{
# ... Do stuff?
}