How it works
Timecode as a frame count
Each timecode HH:MM:SS:FF is turned into a frame number at the chosen rate, the two numbers are added or subtracted, and the result is turned back into a timecode. A negative result keeps its minus sign.
Type digits only; they fill the field from the right, as on a till, so typing 1 0 0 0 0 gives 00:00:01:00.
frames = ((hours × 60 + minutes) × 60 + seconds) × nominal rate + frames
Drop-frame
At 29.97 and 59.94 fps a timecode counted at 30 or 60 frames a second drifts behind the clock by 3.6 seconds an hour. Drop-frame (DF, written with a semicolon) skips frame numbers 00 and 01 (00 to 03 at 59.94) at the start of every minute except every tenth minute, which keeps the label within a frame of real time.
A timecode that drop-frame never shows, such as 00:01:00;00, is read as the next real one (00:01:00;02), and the tool says so.
frames −= 2 × (total minutes − ⌊total minutes ÷ 10⌋) (4 at 59.94)
Real time
Real time divides the frame count by the true rate, so at 29.97 fps one frame is 1001/30000 of a second, not 1/30.
seconds = frames ÷ (30000 ÷ 1001) at 29.97



