How to use time in if statements

Do not use the "String" class - it will cause memory fragmentation and cause your gizmo to lock up. In stead of relying on strings, use numeric values:

Time t = rtc.getTime();
if ((t.hour == 20) && (t.min == 0) && (t.sec == 0))
{
  Serial.println(F("Eight 'o clock, mate!"));
}

That is.. If you are using this library.