Steve's advice is good as usual, but I have a few points to add.
1. The noise filtering capacitor, and the capacitance of the zener diode (which can be in the nanofarad range) will both cause a delay on both the rising and falling edge of the input as seen by the micro. Steve's suggested values will give a delay of about a millisecond. If you don't need immediate detection of the input condition, then there's no problem.
2. All wiring connected to a vehicle's electrical system will carry large common-mode and differential-mode noise when the engine is running. In this case this applies to the input signal, up to the first resistor. Such wiring should be kept physically away from the microcontroller and any other sensitive components and circuitry. I suggest putting the resistor immediately next to the connector that the signal comes in on, so the length of the "net" from connector pin to resistor is as short as possible. Also a circuit like this should be grounded to the chassis at a single point; don't bring in another ground on the same connector, just the one input wire. Also the power input should be treated in the same way as the input (assuming it's powered from the vehicle's battery), including resistor-inductor-capacitor filtering, and probably a star ground (see Wikipedia etc).
3. Steve says the bottom resistor isn't needed, but this depends on the characteristics of the circuit driving the input. If the input signal swings firmly between +12V and 0V then you don't need the resistor, but if the signal is "switched +12V" (for example, +12V fed through a relay contact), you do need it, because without it, there would be nothing to pull the input to 0V when the contact opens. I'd recommend using it in all cases, or instead, using a pulldown resistor straight across the input. In this case you can remove the bottom resistor in the voltage divider, and you'll get the wide input voltage range.