EchoAngel has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks, I get this example value from a file say "Jan 30 14:21" (months are in 3 letters format) and I need to find the hour difference from the current time. I was thinking of converting everything to minutes and doing subtraction. Is there an easier way?
  • Comment on Date Manipulation Question To Find Hour Difference

Replies are listed 'Best First'.
Re: Date Manipulation Question To Find Hour Difference
by edan (Curate) on Feb 01, 2005 at 15:21 UTC
Re: Date Manipulation Question To Find Hour Difference
by dragonchild (Archbishop) on Feb 01, 2005 at 15:29 UTC
    use DateTime; use DateTime::Format::Strptime; my $now = DateTime->now; my $parser = DateTime::Format::Strptime->new( pattern => '%b %d %H:%M', ); my $date = $parser->parse_datetime( 'Jan 30 14:21' ); my $diff = $now - $date; # This is required to convert to seconds as per DateTime documentation +. my $seconds_diff = $now->clone->add_duration($diff) ->subtract_datetime_absolute($now); my $hours_diff = int( $seconds / 60 );

    Being right, does not endow the right to be rude; politeness costs nothing.
    Being unknowing, is not the same as being stupid.
    Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
    Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.