With a little more searching, I found a simple solution. I hope this helps someone out there.
/*
$current should be the timezone on the
current machine, $target is the timezone
you want to calculate. Both should be in
hours. For example, GMT -05:00 should
be -5. GMT +12:00 should be 12. You can
use the returned timestamp with the date
function.
ex: echo date('r', zonechange(-5, 10));
would echo the date for a +10:00
timezone on a machine in -05:00.
*/
function zonechange ($current, $target) {
$current = -1 * $current;
$zonedate = mktime(date('G'), date('i'), date('s'), date('n'),
date('j'), date('Y'), 1) + (($current + $target) * 3600);
return $zonedate;
}