Let's say that it's 2 p.m. now, and I ran this morning for 1 hour (normally I run for 30 minutes).
I want to express that I'm still tired from running - so is it correct to say, "I have run for 1 hour"?
It's not enough just to say "I have run" because I wouldnt be tired now if I had run only for 30 minutes as usual.
Nor can I say "I've been running for 1 hour" because that would mean either I'm still running or I've just finished running.