Note that the DateTime parameter has no effect in the result returned by DateTimeZone::getOffset($DateTime), unless, it refers to a DateTime where there is daylight savings in the referenced DateTimeZone.
Ex.:
<?php
$timezone_brl = new DateTimeZone('America/Sao_Paulo');
$timezone_eng = new DateTimeZone('Europe/London');
$timezone_aus = new DateTimeZone('Australia/Brisbane');
$dateTimes = [
new DateTime()
, new DateTime('now', $timezone_eng)
, new DateTime('now', $timezone_aus)
, new DateTime('now', $timezone_brl)
, new DateTime('2000-06-10', $timezone_brl)
, new DateTime('2000-12-10', $timezone_brl)
, new DateTime('2020-12-10', $timezone_brl)
];
foreach($dateTimes as $dateTime)
{
echo "\n" . $timezone_brl->getOffset($dateTime);
}
?>