From what you are telling me it seems to me that you are having a problem with keeping either the engine warm or the battery. Please follow the steps below and you should be able to get some good results and hopefully solve your problem.
1. Flush the antifreeze in your engine completely and replace it with a nbew mix of 1/2 distilled water and 1/2 antifreeze specified for your vehicle. This will help the engine by preventing freezing. What happens when you have to much water in your engine you can get freezing and this will give you hard starts.
2. Replace the engine oil in your car with a new oil but be sure that you are using an oil that is suitable for the area where you live. Lets say if you live in alaska where the weather gets really cold then you need to get a different type of motor oil.
The oil recomended for your vehicle is 5w 20 the w stands for winter and it is the temperature that the oil will begin to freeze 5 degrees ferenheit.
3. Go to parts store and buy a warming blanket for your battery, these are small blankets that can be cut to the size needed and you wrap it around the battery to keep it warm.
This is the only 3 things that I can think of with out actually having the car here. this is the most common that any good Mechanic will check when you come in with this symptoms.
Thank you for your question, if I was helpfull then please accept my answer. Please remember that any bonuses are greatly appreciated.