I have already replaced the battery. I think it is the starter but I do not understand why when it is warmer it start great
my car has a full tank of gas
You need a block heater or a battery heater for your car available at the local auto parts store.Everyone here where I live have them because of the extreme cold (Alaska). It is recommended to plug it in at below 20 degrees.
It could be the fuel that is in it. It may have water in it and it is freezing in the lines. In that case you should put a bottle of HEET in the tank. Now if the engine wont even turn over then it could be electrical such as the starter or battery (which you said you already replaced) or a cable maybe.
Well one explanation if it is the starter would be when it is colder the battery is weaker, and if the starter armeture is damaged it takes more power to move it past the damaged point, with the decreased power form the battery when its cold this is a possibility.
fuel and oil lines probably freeze up. make sure you always have half a tank at least in 20 degree weather. try putting some isoheat in your gas tank to prevent the lines from freezing up.