Why does it take until the middle of summer before lakes have warm water, but desert sand heats up in hours? My sister asked me this question and I keep thinking that water would conduct heat much faster than sand. Hence the energy transfer of heat across the lake does not allow it to heat up soon. Sand on the other hand is probably a bad conductor of heat and hence more heat energy is held up by each grain of sand. 
But then with water there is also convection which perhaps plays a role.  
I would like to see what the experts say. My thinking is quite informal. 
 A: was taught that it has more to do with specific heat than with heat conduction. 1 gr of water requires 1 cal of heat to raise its temperature by 1 °C. By comparison, sand only takes about 0.2 cal to get the same effect. You can find some values of common substances here.
A: Another factor: Sun radiation penetrates much deeper in water than in sand, so it warms up a greater mass of water to a lesser temperature.
A: Since water is a slow heat conductor (but stores heat well), it takes quite some time for the water to heat up. The water molecules are connected by hydrogen bonds, and since molecules move/vibrate faster when heated up, that is exactly what those water molecules want to do. Opposites attract and since hydrogen bonds are there it makes it difficult for the molecules to move. You could say that the hydrogen bonds just do not want to "let go" of the other water molecules that they are connected to. You need a higher temperature of heat (than the water) for a longer period of time to get those hydrogen bonds to break apart, letting the water molecules move/vibrate freely, causing the water to heat up. Since each sand grain stores their own energy and are not connected by any bonds, and have no charges, sand heats up a lot faster than water does.
