First I’d not test for multiple fields when checking for a time but for the combined time - easiest would be seconds as this is what Time.local()
gives you back already.
Next I would not check for equality but always for greater or equal in conjunction with a “once per day” flag, otherwise you may miss a whole day when you miss the particular second.
So I’d go with something like this
const int timeAction = 18*3600 + 14*60 + 00; // hh+mm+ss
int previousDay = 0;
void setup() {
Time.zone(yourUTCOffset);
...
}
void loop() {
if (previousDay != Time.day() && Time.local() % 86400 >= timeAction) {
previousDay = Time.day();
doWhatever();
}
}