Try this :
void loop() {
delay(1000); // delay in between reads for stability
Serial.println(millis());
}
You can see millis is increasing about 1000 every time even with a delay.
Since millis uses a timer it keeps counting while the delay is on, so you have no problem here.