I am stumped here, not even a start.
Here's one way how you could break up the task into small and manageable task where you can start from pretty much zero to get to a finished product. How long the steps will take you depends on you, some will be easier, some will require more work. This should resolved the problem of not knowing where to start.
Step 1: Write a program that blinks a led without using the function delay(). You'll find something in the tutorials using millis().
Step 2: Modify your program from Step 1 to blink 16 hour on, 8 hours off. Hint: 8 hours are 836001000 = 28800000 milliseconds, 16 hours are twice as much.
You now have your basic light control and it will work perfectly as long as you started your Arduino at the beginning of the correct phase. Main problems is, what happens if the Arduino loses power and restarts? It doesn't know that it's 10pm.
Step 3: Add your counter for illumination time. I would count only minutes where the power is on. Format it nicely and send it out every minute on the serial port.
Step 4: Here we get new hardware: Add a LCD display and display the text you sent out on the serial port in Step 3. Add other nice information to make the display interesting for example how long until light goes on or off again. This additional information can be done in step 3 too.
Step 5: More new hardware, replace the driving of the LED by actually switching the light on and off. I guess you will want some sort of relay for that plus the necessary driving circuity. You can find a tutorial how to do this properly.
Now you have something useful that controls your light and also gives you a display on what's going on. The last big problem to solve is what happens when the Arduino loses power.
Step 6: Get more hardware to retrieve or keep the current time. Here is the place to look at the Time library, which comes bundles with the DS1307RTC library. So using a DS1307 Real Time Clock is probably a good and cheap solution (you can get such modules from most vendors like Sparkfun). Depending on where you are, you might have other alternatives available such as a DCF77 receiver, GPS signals or others. By now you should already have enough experience to integrate a module with an existing library. Play around with your new module in a separate sketch until you can retrieve the correct time.
Step 7: Apply what you learned in Step 6 to your program from Step 5 so that the time is read via the Time library with now() instead of with millis(). One consequence is that you'll do your calculations of illumination time in seconds instead of in milliseconds, those 8 hours are only 28800 and not 28800000.
Now your controller is nearly finished. It will do waht you want. The last drawback is only, that on a power loss, the total illumination time will be lost. Thus a little more programming comes up with:
Step 8: Update the current illumination total every hour to the EEPROM. Don't update the EEPROM all the time, it only takes a limited amount of writing before it dies. On startup of the Arduino read that value to continue counting from there. Also add a button to allow you to reset the counter for those situation when you start a new batch of plants. At this point, you will be able to read the Arduino documentation on your own to find the EEPROM library or a tutorial how to read a button.
Step 9: Build a nice enclosure for your lighting controller.
Step 10: Use it and have fun eating, snorting or smoking your plants.
That's all there is. If you encounter problems at any step, it'll be easier for you to get help here, because you will be able to ask specific questions for very concrete problems and those are the questions which get the best and quickest answers. And please, make sure you did all previous steps before asking questions about a later one. Some of the Steps have an increase in complexity where you should get some experience before attempting one of the later ones.
Korman