Or does it has any relation to weather, I think it happens in cold days.
There are two aspects that may make the effect larger on colder days. The main factor is that the air is dryer, so the charge the car develops as it moves through the air can be larger, and takes longer to discharge. The second factor is that people usually wear warmer clothing, and often this type of clothing creates and retains a greater static charge that warmer weather clothing.
Do others face it as well and how do you avoid it?
Yes, as long as the car is insulated from the ground then you will experience this. What's happening is actually two discharges. When you start to get out you are charged to the potential of the car. Then your foot touches the ground and you discharge to the ground. Then you touch the car door and you become the path for all of the car's charge to discharge to ground. It's this second discharge that you feel - the first one happens through footwear and often is unnoticed, also your body doesn't carry as much charge as the vehicle, so the first discharge is relatively small.
A conductive strap hanging below the car works to eliminate this problem entirely. When travelling quickly, the air pushes the strap up so it doesn't wear on the road all the time, but they do have to be replaced periodically. These disallow high charges to develop on the car, and don't themselves create sparks because the potential is simply never allowed to get that high.
I touch the door with the back of my hand or fingers after I get out, so the discharge occurs on the back of my hand or fingers. This is much less sensitive than my fingertips where I'd usually contact the car to close the door.
In theory you can weld small needles to the metal frame of the car pointing toward the ground. When the car is at a high potential, these will emit electrons and discharge the potential more quickly than the rounded, painted edges of the car. I don't know if this discharge would be fast enough to eliminate the shocks you feel, though, since you stop the car and immediately exit, but it should reduce them without the ground contact of a strap. You'll need to choose a metal, alloy, or conductive covering that won't rust, or you'll be replacing them frequently.
If there's a part of the car you hold onto as you exit, attaching a wire from that part to the frame will also work. So on my van I hold onto the door handle as I exit the vehicle. It's plastic, though, so it doesn't conduct the vehicle's charge to me until I touch the outer edge of the door frame. There are screws in the handle, so if I touched the screws, or attached copper tape along the inside edge of the handle to the screws then the discharge would happen at my feet as I left the vehicle, rather than between the door and my hand.
Lastly, you can get some plastic edge guards for the door frame. If you install one and train yourself to only ever touch that as you close the door you should find the discharges go away. If your trip away from the car was short, though, you'll get a shock as you touch the door handle or door when you return.
The conductive strap, however, is a cheap simple solution, available for $10 including shipping from some online stores, and can probably be found or ordered at your local auto parts stores. Hang it well under the vehicle where it won't be easily seen if you don't want well meaning people to constantly notify you that you've got something hanging under your car!