Here's what you want to do, as i understand from your question, working solution
$datetime = new DateTime; // current time = server time
$otherTZ = new DateTimeZone('America/Los_Angeles');
$datetime->setTimezone($otherTZ); // calculates with new TZ now
//Current time
echo $datetime->format('d-m-Y H:i:s T');
echo "\r\n";
//Add 2 days in curent time
$datetime->add(new DateInterval('P2D'));
//Time 2 days from now
echo $datetime->format('d-m-Y H:i:s T');
Edit
To add week days and start every day from a specif time of a specific time zone and add week days to the current date to get the expected date you can use following code, see I use this function another SO answer here. see working solution of the code.
$date = new DateTime();
$date->setTimezone(new DateTimeZone('GMT+1'));
$daily_start_time = $date->format('Y-m-d')." 11:30:00 GMT+0100";
$datetime = new DateTime($daily_start_time); // current time = server time
$otherTZ = new DateTimeZone('GMT+1');
$datetime->setTimezone($otherTZ); // calculates with new TZ now
//Current time
echo $datetime->format('d-m-Y H:i:s T');
echo "\r\n";
//Add 2 days in curent time
// $datetime->add(new DateInterval('P2D'));
//Add 2 weekdays in current time
$datetime = addWorkingDays($datetime, 2);
//Time 2 days from now
echo $datetime->format('d-m-Y H:i:s T');
function addWorkingDays($date, $day)
{
if (!($date instanceof \DateTime) || is_string($date)) {
$date = new \DateTime($date);
}
if ($date instanceof \DateTime) {
$newDate = clone $date;
}
if ($day == 0) {
return $newDate;
}
$i = 1;
while ($i <= abs($day)) {
$newDate->modify(($day > 0 ? ' +' : ' -') . '1 day');
$next_day_number = $newDate->format('N');
if (!in_array($next_day_number, [6, 7])) {
$i++;
}
}
return $newDate;
}