El clima varía de tropical en el nivel del mar a templado en las tierras altas. Hay relativamente poca variación estacional en la temperatura. La temperatura promedio anual en las tierras bajas costeras es de 27 grados, en las montañas es de 13 grados.
La isla tiene una precipitación media anual de 198 cm, con amplias variaciones durante el año entre las costas norte y sur. La costa noreste y las montañas reciben hasta 500 cm de lluvia al año en algunos lugares, mientras que algunas partes de la costa sur reciben menos de 75 cm, la mayoría de ellas entre mayo y octubre. Las temporadas de lluvias son de mayo a junio y de septiembre a noviembre. El período que va desde finales de agosto hasta noviembre ha estado ocasionalmente marcado por huracanes destructivos.