Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Generating basic time intervals between two times

by mikfire (Deacon)
on May 20, 2001 at 20:38 UTC ( #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


Comment on Re: Generating basic time intervals between two times
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (16)
As of 2015-07-01 17:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (15 votes), past polls