Check if time is between two time inputs.

BulldogLowell:
I wrote a library to do exactly what you are looking to do

Having some issues using it.

Not sure if its because I already have an RTC clock ?

Isolated what I use is:

void ledOn() {
 for(int i=0;i<NUM_LEDS;i++){
   leds[i] = CHSV( hueDay, satDay, briDay);
 }
 FastLED.show();
}

void ledOff() {
 for(int i=0;i<NUM_LEDS;i++){
 leds[i] = CHSV( hueNight, satNight, briNight);
 FastLED.show();
}
}

DailyTimer ledTimer1(
 true,                             // AutoSync true or false, will run the startTimeCallback() if restarts within the active range or after range changes and you are in the range
 inputStart,                               // Start Hour
 inputStartminutes,                               // Start Minute
 inputStop,                                // End Hour
 inputStopminutes,                                // End Minute
 EVERY_DAY,                         // SUNDAYS, MONDAYS, TUESDAYS, WEDNESDAYS, THURSDAYS, FRIDAYS, SATURDAYS, WEEKENDS, WEEKDAYS, or EVERY_DAY
 FIXED,                            // OPTIONAL - FIXED, RANDOM, RANDOM_START, or RANDOM_END
 ledOn,                            // pointer to function to execute at Start time, or a Lambda as in this example:
 ledOff                            // pointer to function to execute at End time
);

void setup()
{
 ledTimer1.begin();
}

void dailylibtimer() {
 static unsigned long lastTime = 0;
 DailyTimer::update();
 if(millis() - lastTime >= 1000)
 {
   char timeBuffer[32] = "";
   sprintf(timeBuffer, "Time:%2d:%02d:%02d\tDate:%02d/%02d/%4d", hour(), minute(), second(), month(), day(), year());
   Serial.println(timeBuffer);
   lastTime = millis();
 }
}

void loop()
{
 dailylibtimer();
}