Which timer library to use for several seconds of delay

Why use a library at all?
all time related variables are unsigned long

void loop(){
if (timer_running == 0 && event1_start_trigger == 1){
event1_start_time = millis();
timer1_running = 1;
event1_end_time = event1_start_time + event1_duration;
// start timed action
}
if (timer_running == 1 && (millis() - event1_end_time ) >=0){
timer1_running = 0;
// end timed action
}
} // end void loop