http://qs321.pair.com?node_id=1202485


in reply to Comparing DateTime objects in different timezones

$dt->offset is giving you the +1100 and -0700 portion of each time format, but in seconds rather than hours, i.e. 11 hours = 39600 seconds and -7 hours = -25200 seconds. You could use the $dt->epoch method to get the duration in seconds:
my $duration = $dt_received->epoch - $dt_sent->epoch; print "$duration seconds"; # 27 seconds
For finer grained control of the result you can use subtract_datetime()
my $duration = $dt_received->subtract_datetime( $dt_sent ); print $duration->minutes, " minutes, ", $duration->seconds, " seconds" +; # 0 minutes, 27 seconds
See DateTime::Duration

Replies are listed 'Best First'.
Re^2: Comparing DateTime objects in different timezones
by Cody Fendant (Hermit) on Nov 01, 2017 at 00:03 UTC
    Oh that makes sense. Thank you so much, I just misinterpreted the "offset" as being the offset of the time from UTC, and not the offset of the time zone from UTC. I should have been suspicious that they were such nice round numbers!