«Мое местное время - 12:15, но вместо этого я получаю 18:15».
6 часов ... это смещение между UTC и American / Mountain, 18:00 в вашем местном часовом поясе - 12:00 UTC.
Что значит
$rc = date_default_timezone_set("US/Mountain");
$stamp =mktime();
echo 'version: ', phpversion(), "\n";
echo 'rc=', var_dump($rc);
echo 'stamp: ', $stamp, "\n";
echo 'time(): ', time(), "\n";
echo 'date: ', date(DateTime::ISO8601, $stamp), "\n";
echo 'gmdate: ', gmdate(DateTime::ISO8601, $stamp), "\n";
печать