How to pause a timer?

so how can I pause the reading on a timer? When I do something like this its going to continue advancing with millis rather than pause or stop with the button push. I have seen other stop watch examples that do this but they do not display the time in real time Im trying to have the time print in real time and when the button is pushed it would either freeze or print time at the button push.

seconds = millis() / 1000;
if(button == high){
elapsed = seconds;}

Serial.print(millis);
Serial.printlm();
Serial.print(elapsed);
const int startButton = 2;
const int stopButton = 3;
unsigned long startTime, elapsedTime, totalElapsedTime, currentTime;
boolean running = false;

void setup()
    {
    totalElapsedTime = 0;
    }

void loop()
    {
    currentTime = millis();

    if (digitalRead(startButton) == HIGH && !running)
        {
        startTime = currentTime;
        running = true;
        }

    if (digitalRead(stopButton) == HIGH && running)
        {
        elapsedTime = currentTime - startTime;
        totalElapsedTime += elapsedTime;
        running = false;
        }

    if (running)
        {
        elapsedTime = currentTime - startTime;
        Serial.println(elapsedTime/ 1000);
        }
    }

KE7GKP:
Are you trying to actually stop the count?
Or are you trying to freeze the display (while continuing to count)? (called a "split" on a stop-watch)
Either one is easy to do, but it isn't easy trying to determine which you are asking for?

either or is ok. In the end the display just needs to freeze so whatever is easier.

btw thanks john Ill try it out later.