Assuming you get that all to work one way or another, I'd caution against checking time to the second. Although a second is aaaaages to a uC, and it's likely that loop() is loop()-ing quickly enough, it's not impossible that you might not check the time during that second. (I say that not knowing what the rest of the code does: there may (for instance) be use of delay()...)
I'd think it safer to look for the time to be between two limits.
On the other hand, it may be that loop() is going so well that the test passes 100000 times, and you do the event over and over during that second. To prevent that, you need a flag variable which would start false, and only do the event if the time is right and the flag's false. Then when you do the event, make the flag true so if the time is checked again in the same second, the flag's state will prevent the event firing again. Set it false some time later so it works again tomorrow.