I've now run into this half a dozen times in the past month.
If your car won't start and these are your symptoms here is the solution.
All the below presume the starter turns (cranks) the engine yet it will not fire:
-If you drove the car from a moderate to cold climate and it either starts to stumble/lose power or won't start after being parked between an hour to overnight.
-If you parked the car when the weather was moderate and now it is quite cold and the car won't start.
-If you parked the car in moderate conditions and fired it up once it got really cold to warm it up and make sure everything was OK then later the car won't start.
-If the car was parked in a heated garage or a garage much warmer than ambient and you drive to your destination then cannot start the car a few hours later.
First thing to do is check your fuel level. If the gauge reads 1/4 or less I can pretty much guarantee your fuel has frozen up.
What happens is the air space inside the fuel tank is saturated with moisture because the temperature inside the tank is warm due to the close proximity to the exhaust or the ambient weather conditions when the car was initially parked or driven into the cold. As the temperature drops this moisture comes out of solution, condenses, and settles as water at the bottom of the fuel tank. If the temperature continues to drop this condensate (water) freezes. In both cases the car won't run for long or, more often, run at all.
To avoid this try to keep your tank topped with fuel or use 15% Ethanol fuel. Try to maintain over 1/2 tank. If you cannot then add Heet, Methyl Hydrate, or other gas line antifreeze product if the tank is going to go below 1/2. If you live on the coast or Great Lakes area and plan a trip inland add antifreeze or run 15% Ethanol.
Once she's locked up you have some fun on your hands. As long as the temperature stays below 0C (32F) normal additives won't help. But add an antifreeze product like Methyl Hydrate to the fuel as soon as you suspect this to be the issue.
Both of the below will probably drain your battery so prepare for this.
If the temperature goes above 0C for several hours you should be able to cycle the fuel pump to clear the water. This can take over 10 minutes so don't be discouraged. Most keep trying the starter hence the dead battery.
If the temperature stays below 0C you need to heat the fuel. The best solution is to seal the car under a tarp or other cover and have a heater without an open flame push warm air from back to front on the side of the fuel lines. Direct the heats so that the warm air passes under the fuel tank towards the engine. This can take hours depending on the heater and ambient temperature. If you can move the car into a heated garage all the better. Again, cycle the fuel pump for about 10 minutes.