Es sollte nicht schaden, diese sekündlich abzufragen.
Ungetestet: Stattdessen könntest Du die Berechnung kalibrieren. In \libraries\Time\Time.cpp mal mit dem Wert 1000 spielen:
time_t now() {
// calculate number of seconds passed since last call to now()
while (millis() - prevMillis >= 1000) {
// millis() and prevMillis are both unsigned ints thus the subtraction will always be the absolute value of the difference
sysTime++;
prevMillis += 1000;
Das setzt natürlich voraus, Dein Programm enthält keinen Zeitfresser. Kommentiere beispielsweise mal strip.show(); aus, ob dadurch millis() beeinflußt wird, schließlich werden ja bei der Datenausgabe die Interrupts gesperrt.