Aquí tienes una introducción al objeto
date.
Verás que hay varias formas de instanciar un objeto de fecha. Luego, ese objeto tiene métodos para retornar el día, el mes, el año, los milisegundos desde la época unix, la fecha en formato ISO, UTC, GMT, para
recibir la hora , etc.
Luego, teniendo el entero de la hora, por ejemplo, las 15 horas, puedes hacer sumas, restas y esas cosas tan básicas.
Usa tú la cabeza y haz los ejercicios tú.