Response:
If it cranks, check your fuel line to make sure gas is getting to the injectors, it sounds as possible fuel starvation.
Check your battery cables at the battery for corrosion. In fact just remove them and clean them real good. Remove negative cable first and when putting them back on, put the positive cable back on battery first!
If this doesn't help, check the cable at the starter to see if the connection is loose.
If that doesn't help, have the battery checked by load testing it, not with a hydrometer.
For it to run you need fuel, compression, and spark. If you have all 3 it should run. However, in cold weather if you dont know the age of your spark plugs, they will fail causing your engine to flood very easily. Even Fuel Injection systems as they spray a small amount of fuel before you crank. Another thing you can try on Cold Hard starts is to turn the key 3 or 4 time before cranking. You should hear the Fuel Pump running for a few seconds, turn the key off and repeat like I said 3 or 4 times. This acts like the old fashioned Choke.
If your not getting Spark, check you Engine Control Module they run $20 and up. Oh, it's under the distributor cap and also controls your Fuel Pump