Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Generating basic time intervals between two times

by mikfire (Deacon)
on May 20, 2001 at 20:38 UTC ( [id://81850]=note: print w/replies, xml ) Need Help??


in reply to Generating basic time intervals between two times

Just for grins, you could use something like this. Time::Local is a core module that translates a string representation of time into seconds - think of it as a reverse of localtime.
#!/usr/bin/perl -w use strict; use Time::Local; my $start = "7:30"; my $end = "11:45"; my $interval = 15; # Assuming time is in a 24-hour format and adjusting for my timezone : +) my ($start_sec,$end_sec) = map { /(\d+):(\d+)/;timelocal( 0, $2, $1, 1 +, 1,1970 ) } $start, $end; # In case the times cross the midnight boundary $end_sec += 86400 if ( $start_sec > $end_sec ); my $int_sec = $interval * 60; while ( $start_sec <= $end_sec ) { printf "%d:%02d\n", (localtime($start_sec))[2,1]; $start_sec += $int_sec; }
I use timelocal to translate the given times into the correct seconds - including timezone adjustments. I chose the Epoch for no particular reason. After that, I simply let localtime do its thing.
mikfire

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://81850]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2025-06-20 13:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.