Como verificar se um desvio de horário está no horário de verão?

O CMS que estou usando me permite acessar a hora do usuário no horário UTC / GMT. Portanto, se o usuário tiver definido seu fuso horário para EST, esse deslocamento será "-5".

O que estou fazendo agora quando preciso mostrar a hora atual é algo como:

date('M j Y h:i A', time() + $offset*3600)

Isso funciona,exceto Quando o horário de verão está afetando o usuário, ele está uma hora atrasado.

Então, minha pergunta é: como posso determinar se um determinado deslocamento de tempo (como "-5") precisa ter uma hora adicionada a ele?

questionAnswers(3)

yourAnswerToTheQuestion