– It has been raining for over an hour. Дождь идёт больше часа.
Время настоящее длительное совершённое говорит о долгом, длительном процессе длящимся до сих пор, до СЕЙЧАС. Не важно, дождь прекратился или продолжается. Главное, что дождь идёт больше часа.
Технически это время делается с помощью вспомогательного: have/has + been + -ing
Отрицание с помощью – not : have/has NOT been -ing
В вопросе вспомогательный ‘have’ и подлежащее меняются местами.:
– You have been running… – Have you been running …?
Время настоящее длительное совершённое очень часто употребляется с ‘How long…?’ – как долго, for – в течение, since – с (какого-то момента):
– How long has it been raining? – It has been raining for two hours.
Так же применяется для длительных, повторяющихся действий, процессов.
– She has been playing tennis since she was eight. (Она играет в теннис с 8 лет.)
Время present perfect continuous (I have been doing) принципиально отличается от present continuous (I am doing).
Оно показывает КАК ДОЛГО происходит процесс до СЕЙЧАС. А простое длительное, говорит о процессе происходящем СЕЙЧАС, в момент говорения.
– I am doing… (Я что-то сейчас делаю)
– I have been doing smth for … (Я что-то делаю что-то в течение какого-то времени)