If you get heat after 20 minutes of driving about, odds are your thermostat is stuck open. Does the temp gauge come up slowly?

As for the AC, listen to see if they compressor is on, or cycling on and off repeatedly. Odds are you've got a leak and have lost pressure. If it cycles on and off it's not building pressure. You'll probably want to see a shop with the proper equipment to leak test the system if you think it's important.