Creating a timezone resource:

<?php
  $tz = new DateTimeZone("Asia/Singapore");
?>
Using the timezone when parsing a string:

<?php
  $tz = new DateTimeZone("Pacific/Honolulu");
  $ts = new DateTimeImmutable("1978-12-22 09:15", $tz);
?>
A passed timezone does not override a parsed timezone:

<?php
  $tz = new DateTimeZone("Pacific/Honolulu");
  $ts2 = new DateTimeImmutable("1978-12-22 09:15 Europe/London", $tz);
  echo $ts2->format( DateTime::RFC2822 );
?>