I would use something like this :
unsigned long lastSecond = 0;
int seconds = 0;
int minutes = 0;
int hours = 0;
if(millis() - lastSecond >= 1000)
{
lastSecond += 1000;
seconds++;
}
if(seconds > 59)
{
seconds = 0;
minutes++;
}
if(minutes > 59)
{
minutes = 0;
hours++;
}