Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: timestamp manipulation and evaluation

by Kenosis (Priest)
on Aug 18, 2012 at 04:12 UTC ( #988140=note: print w/ replies, xml ) Need Help??


in reply to timestamp manipulation and evaluation

Here's a subroutine that you can send those two time stamps to for the desired output (returns 0 if no intersecting time):

use Modern::Perl; use Date::Calc qw/ Date_to_Time Time_to_Date /; say intersectingTime( '2012-08-17 12:00:00', '2012-08-17 13:00:00', '2012-08-17 09:00:00', '2012-08-17 12:30:00' ); sub intersectingTime { my ( $s1, $e1, $s2, $e2 ) = map Date_to_Time( /\d+/g ), @_; my $tStart = $s1 > $s2 ? $s1 : $s2; my $tEnd = $e1 < $e2 ? $e1 : $e2; $tEnd <= $tStart ? 0 : sprintf '%4d-%02d-%02d %02d:%02d:%02d for %02d minutes', Time_to_Date( $tStart ), ( $tEnd - $tStart ) / 60; }

Output:

2012-08-17 12:00:00 for 30 minutes


Comment on Re: timestamp manipulation and evaluation
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (14)
As of 2015-07-28 11:10 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 (254 votes), past polls