Trouble with Data Logger

It may not be the solution, but your loop is running unreasonably fast. Your clock can only deliver useful information at one second intervals but the loop is 1/10th second, thereby making your data 90% rubbish. Perhaps this is just a typo, but make it
delay(1000);
and see if it helps.

Also, confine the SD tests to setup, and keep those conditionals out of the loop, i.e. get the time, and record it - no unnecessary fartarsing about (unless you seriously think somebody is going to come in and steal the card).

No comment on the LED stuff, but it seems redundant.