$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