¿Cómo verificar si una compensación de tiempo está en horario de verano?

El CMS que estoy usando me permite acceder al desplazamiento de tiempo del usuario desde el horario UTC / GMT. Entonces, si el usuario ha establecido su zona horaria en EST, entonces este desplazamiento será "-5".

Lo que estoy haciendo ahora mismo cuando necesito mostrar la hora actual es algo como:

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

Esto funciona,excepto cuando el horario de verano está en efecto para el usuario, entonces es una hora atrás.

Entonces, mi pregunta es, ¿cómo puedo determinar si una diferencia de tiempo dada (como "-5") necesita tener una hora agregada?

Respuestas a la pregunta(3)

Su respuesta a la pregunta