Generando un componente iCalender VTIMEZONE del valor de zona horaria de PHP

Estoy agregando una función a mi aplicación de calendario de eventos para proporcionar descargas de archivos iCalendar (ics) para los eventos. Quiero generar laVTIMEZONE Component, pero todo lo que tengo es la Zona horaria de PHP valor dedate_default_timezone_get(). Aquí hay un ejemplo de unaVTIMEZONE Componente para la hora del este (EE. UU. Y Canadá) generado por Outlook:

BEGIN:VTIMEZONE
TZID:Eastern Time (US & Canada)
BEGIN:STANDARD
DTSTART:16011104T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010311T020000
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
END:DAYLIGHT
END:VTIMEZONE

Esto se comportaría como la zona horaria "América / Nueva_York" de PHP, pero ¿cómo automatizaría la generación de la misma?

Respuestas a la pregunta(3)

Su respuesta a la pregunta