En las dos zonas serranas principales se registra un clima clasificado como "Templado subhúmedo con lluvias en verano", la zona central de valles que divide a ambas serranías principales tiene clima "semifrío subhúmedo con lluvias en verano" y finalmente en el sector ubicado al extremo oriente del territorio se puede encontrar clima "semiseco templado"; la temperatura media anual de la zona central del municipio tiene un rango de 10 a 12 °C, el territorio a ambos lados de esta zona central tiene un rango de 12 a 16 °C, y al extremo oriente se registra de 16 a 18 °C.