RTC Timer; calculating elapsed time

In my project, there’s a timer, a labeled Value, that will show the time in the format hh:mm, and it will be updated from the hardware side every minute. The user resets the timer from a Blynk momentary button. I need my hardware to save the ‘start time’ in case of power failure, so it saves it to SPIFFS. So, a simple breakdown of what happens is this:
The User presses the reset button
The hardware requests the RTC widget to send the actual time.
It stores this ‘startTime’ to memory.
every 60 seconds, the hardware requests the time again.
Ok, here’s where I’m stuck.
The hardware subtract the ‘startTime’ from the current time, and sends the Blynk app (a labeled value) the current elapse time in the format hh:mm
Here is the code I’ve come up with, I think it’ll work. The last function where it calculates the elapsed time and sends that back to Blynk, I’m uncertain how to do this.
[code]
long t; //current time sent from Blynk
long startTime; //the time the timer was started (stored in SPIFFS in case of power failure)

void requestTime() { //ask Blynk to send us the time
Blynk.sendInternal(“rtc”, “sync”);
}

BLYNK_WRITE(InternalPinRTC) { //Blynk tell us what time it is
t = param.asLong();
Serial.print("Unix time: ");
Serial.print(t);
Serial.println();
}

BLYNK_WRITE(V18) { //called when user pushes Timer Reset button in the app
requestTime(); //ask Blynk to send us the time
saveStartTime(); //save the time it is right now (startTime) to SPIFFS memory
}

void updateTimer() { //this will run once a minute
//the next line will be in the setup() fuction
//timer.setInterval(60000L, updateTimer);

requestTime(); //ask Blynk to send us the time

//subtract the time it is now (t) from the start time (startTime)
//and convert that to hours and minutes, in this form hh:mm

//not sure how to send to Blynk in the format hh:mm
//Blynk.virtualWrite(V13, hh: mm); // Send time to the App
}

[/code]