It sounds to me like the heater core is out. Have you noticed the floor wet recently? that's a sure sign of heater core issues. The other option is it will act like that if it has no antifreeze or water in the radiator, in other words the radiator is dry.
Just a suggestion if someone has replaced the thermostat its possible they installed it pointing in the wrong direction this could account for cold air and the guage reading over hot. , EzForJesus
I would suggest replacing it.
Usually at the firewall either passenger side or middle follow the heater hoses
under the dash right hand side.
The water pump pushes the coolant through the engine block and head(s) then into the heater core.
heater core is shot. Take it to a shop, you don't want the headache involved in doing it yourself!
You can get a heater that magnetically sticks to the pan and warms the engine. You can get a heater that connects to the heater hose and circulates warm engine coolant. You can also get a block heater that replaces a freeze plug. You have to decide which works best for you.
i replaced my heater core and it has been fine ever since (8 months )
No, a clogged heater core will not make it overheat. A leaking heater core will.
there should be 2 hoses going into that firewall for the heater core, it is probably bad. find the 2 hoses and connect them together until you can repair the heater core, at least it will be driveable. one end of the hose attaches to where the top radiator hose connects to the motor, and the other end is on the water pump towards the bottom of the opposite side.
A leaking heater core will cause the engine to overheat because the coolant is leaking out.
check the heater core
It is possible that your radiator is partially plugged or the heater core is leaking coolant or the thermostat is the wrong temperature. Sorry for so many scenarios, but I have seen all of these.