Deborah Scott wrote:
> 
> I have a txt data file that has several fields. Two of the fields are start
> time and end time (listed in epoch time).
> 
> I need to write a perl program that finds (and prints) events that occur
> between midnight "last night" and "midnight tonight."
> 
> First problem:
> The date for midnight "last night" and "tonight" will change each day, so
> this needs to be some kind of automatic date finder.

use Time::Local;

my @today = localtime;  # get todays date and time
@today[0..2] = ( 0, 0, 0 );  # make it midnight
my $lastnight = timelocal( @today );  # convert to epoch time (seconds)
my $tonight = $lastnight + 86_400;


> Second problem:
> How do I find (and then list) only those events that occur TODAY.
> These events might start or stop at any time during the month.

if ( $event >= $lastnight and $event <= $tonight ) {
    print "$event happened today.";
    }


> The events that I would list would include ANYTHING that includes "today."
> Some might start today and end today and last only an hour. Some might start
> two days ago and end next week. This txt file will also list events that
> have already started and stopped last month or will start in the future, so
> I have to make sure that these are NOT included in "today's" report.

my $today = time;  # get epoch time

if ( $start_event < $today and $end_event > $today ) {
    print "$event includes today.";
    }




John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to