Speed, distance, time: the one division behind every ETA
Every arrival estimate you have ever seen comes from one division: distance divided by speed. The formula is not the hard part. The hard part is that the answer comes out as a decimal number of hours, and nobody thinks in decimal hours — so the useful step is the conversion afterwards, which is where the mistakes live.
The method
Time = distance ÷ speed. The only rule is that the units have to match: miles with miles-per-hour, kilometres with kilometres-per-hour. Mix them and the number that comes out is meaningless, not merely inaccurate. Because both sides use the same hour, the answer is in hours whichever pair you pick.
A real example: 150 miles at 60 mph
150 ÷ 60 = 2.5 hours. Now convert the decimal part: 0.5 of an hour is 0.5 × 60 = 30 minutes, so the trip is 2 hours 30 minutes. The decimal and the clock time say the same thing; only one of them is any use out loud.
A real example: 300 km at 80 km/h
300 ÷ 80 = 3.75 hours. The fractional part is 0.75, and 0.75 × 60 = 45 minutes, giving 3 hours 45 minutes. Notice the pattern: the whole number is hours, and only the part after the decimal point ever becomes minutes. A common error is reading 3.75 as "3 hours 75 minutes", which would be over four hours — nearly half an hour wrong on a single leg.
A real example: a marathon at 6 mph
A marathon is 26.2 miles. At a steady 6 mph: 26.2 ÷ 6 = 4.366667 hours. The fractional part, 0.366667, times 60 gives 22 minutes, so the finish time is 4 hours 22 minutes. This is the case where the decimal form is genuinely useless to a human and the conversion does all the work.
Round once, not twice
There is a trap in the conversion worth knowing about, because it produces answers that look absurd. If you round the hours and the minutes separately, you can get "2h 60m". Take 2.995 hours: the whole-hours part floors to 2, and 0.995 × 60 = 59.7, which rounds to 60. Two halves, rounded independently, that contradict each other.
The fix is to round once, at the very end. Convert the whole answer to minutes first (2.995 × 60 = 179.7), round that to 180, and only then split it into 3 hours and 0 minutes. The two halves can never disagree because they come from the same rounded number. This is exactly how the tool below does it.
Working it backwards
The same relationship rearranges two ways. If you know the distance and the time, speed = distance ÷ time. If you know the speed and the time, distance = speed × time. A 90-minute drive at 50 mph covers 50 × 1.5 = 75 miles — note the 90 minutes had to become 1.5 hours first, because the speed is per hour. Converting the time into the same unit the speed uses is the step that gets skipped.
What this doesn't account for
This is average speed over the whole distance, and treating it as constant is a modelling choice, not a fact. Real journeys have junctions, traffic, hills, fuel stops and speed limits that change. If you drive 60 mph for an hour then 20 mph for an hour, your average is 40 mph — but if you drive 60 mph for one mile then 20 mph for one mile, your average speed is 30 mph, not 40, because you spent three times as long on the slow mile. Averaging speeds directly is only valid when the times are equal, not when the distances are. When they differ, divide total distance by total time and nothing else.
Run your own numbers
The free Speed · Distance · Time calculator does the division and the hours-and-minutes conversion together, entirely on your device. It refuses a speed of zero or below rather than reporting an answer: dividing by zero is not a very long journey, it is no answer at all, and a tool that prints a huge number there is lying to you.