Gerando um componente VTIMEZONE do iCalender a partir do valor de fuso horário do PHP

Estou adicionando um recurso ao meu aplicativo de calendário de eventos para fornecer downloads de arquivos do iCalendar (ics) para os eventos. Eu quero gerar oVTIMEZONE Componente, mas tudo o que tenho é o Fuso Horário do PHP valor dedate_default_timezone_get(). Aqui está um exemplo de umVTIMEZONE Componente para a Hora do Leste (EUA e Canadá) gerado pelo 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

Isso se comportaria como o fuso horário "America / New_York" do PHP, mas como automatizaria a geração dele?

questionAnswers(3)

yourAnswerToTheQuestion