Can my Arduino be a clock?

I have been playing around with this clock script. Its not very accurate but could be used to control things measured in hours or days. Every time you add to the script, you will have to recalibrate the clock, which takes a few days to zero in.

//  Variable clockadjust will be about 1000 milliseconds per second
//  If clock lags realtime, decrease clockadjust
//  If clock preceeds realtime, increase clockadjust
//  http://www.time.gov
//  Adjust variables to desired set time 
//  Press reset two seconds prior to desired set time

int clockadjust = 986;
int day = 0;
int hour = 21;
int min = 36;
int sec = 0;

void setup()
{
  Serial.begin(9600);

}

void loop()
{
delay(clockadjust);
  
  sec = sec + 1;

if (sec > 59)
{
  sec = 0;
  min = min + 1;
}

if (min > 59)
{
  min = 0;
  hour = hour + 1;
}

if (hour > 23)
{
  hour = 0;
  day = day + 1;
}
  Serial.print("Day ");
  Serial.print(day);
  Serial.print(" - ");
  Serial.print(hour);
  Serial.print(":");
  Serial.print(min);
  Serial.print(":");
  Serial.print(sec);
  Serial.print("\n");
}