часовой пояс с обработкой летнего времени PHP

Я работаю над приложением календаря. При этом пользователи из разных часовых поясов создают / просматривают события. Я думаю, что следовать приведенному ниже методу, чтобы сохранить время события в UTC и отображать их в местном времени пользователя. Примечание. Пользователь предпочитает часовой пояс.

Чтобы сохранить время начала события как метку времени UTC:

$timezone = new DateTimeZone( $user_timezone_name );
$utcOffset = $timezone->getOffset( new DateTime( $event_start_time_string_local ) );
$event_start_timestamp_local = maketime( $event_start_time_string_local );
//Now add/subtract $utcOffset to/from $event_start_timestamp_local to get event's start  //time  timestamp in UTC and save this result in DB.

Чтобы узнать время начала события в часовом поясе пользователя:

date_default_timezone_set( $user_timezone_name );
$eventTimeLocalTime = date("Y-m-d H:i:s", $event_start_timestamp_in_UTC );

Где:

user_timezone_name is user's timezone setting.
event_start_time_string_local is event's start time string in local/civil time.
event_start_timestamp_in_UTC is event's start time timestamp in UTC.

Мои вопросы:

Будут ли PHP API, используемые выше, заботиться о DST для всех регионов?Время DST само меняется в разные годы, как PHP получает информацию об этом? нам нужно обновить PHP? Если так, нужно ли нам обновлять всю или определенную библиотеку PHP?

Рекомендации: -делает-ПГПС-дата-умолчанию-часового пояса набора отрегулируйте к экономии дневного света - получить часовой пояс-смещение-для-а-Given-места

Ответы на вопрос(2)

Ваш ответ на вопрос