can be made but one of the problems is that such a function has some function call overhead which may or may not affect your program flow. For millis() it is probably not too bad, for micros the story is quite different.
The code for your function is something like this.
boolean checkTimeElapsedSinceLastCall(unsigned long t) // a shorter name is possible ;)
{
static unsigned long prev = 0;
unsigned long now = millis();
if (now - prev >= t)
{
prev = now;
return true;
}
return false;
}
Somebody did write a timer library that enabled you to have a function called after a delay, or at regular intervals. The code needed to implement that behaviour directly is pretty simple and not substantially more complex than the code needed to do the equivalent behaviour using the library, but the library is there if you want to use it.