El clima del municipio se divide en dos zonas, la zona oriental registra un clima que es considerado como "Semiseco templado", mientras que la zona occidental tiene un clima "Templado subhúmedo con lluvias en verano", una pequeña zona en el sur del municipio tiene clima "Semicálido subhúmedo con lluvias en verano"; la temperatura media anual se ve afectada principalmente por la elevación del terreno, de esta manera la mayor parte de las zonas planas del municipio registran un promedio que va de los 16 a los 18 °C, zonas del sur y del suroeste alcanzan un promedio de 18 a 20 °C, mientras que zonas más elevadas el centro y este del territorio tienen un promedio entre 14 y 16 °C; la precipitación promedio anual sigue un patrón de cinco bandas que avanzan en sentido suroeste-noreste a través del municipio, la zona registrada más al suroeste tiene un promedio superio a los 800 milímetros de lluvia al año, la siguiente zona registra entre 700 y 800 mm, la franja central entre 600 y 700 mm, la cuarta zona entre 500 y 600 mm y finalmente el extremo más al noreste tiene entre 400 y 500 mm de promedio anual de lluvia.