SD card data acquisition

Is there a way to make it so that the clock stays at zero till pin 3 reads high.

What clock?

Please explain what you are trying to achieve. The truncated for() loops (which act like while loops) within the while loop() is confusing. What do you want to log, and when do you want to log it?

It appears that you are sd logging the word "low" for two seconds as fast as,you can, and then some data, and then sd logging the word "high" for another 5 seconds and then some data with accumulated run time.

What is connected to pin3 and pin 2?

The millis() clock starts at run time, and timing is usually handled by subtraction. The value of millis() can not stay at 0 or be reset to 0 while the program is running.