часовой пояс с обработкой летнего времени 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?

Рекомендации: -do-phps-date-default-timezone-set-Adjust-Adjust-to-Daylight-Saving -получить часовой пояс-смещение-для-а-Given-места

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

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