He has been ill for ten days.
He was ill for ten days.
這兩個句子用的時態(tài)不同,所以涵義也就不同。
現(xiàn)在完成時表示某事發(fā)生或開始于過去某一時間,但其結(jié)果或影響到說話時依然存在。
第二句用的是一般過去時,它表示過去發(fā)生的某一件事,不管此事和現(xiàn)在是否還有聯(lián)系。
因此,He has been ill for ten days的涵義是“他已病了十天,但現(xiàn)在病尚未好”;He was ill for ten days的涵義是“他(曾)病了十天(一般來說指現(xiàn)在病已痊愈,但也可能病尚未完全好)”。
與之類似區(qū)別的語句很多。例如:
He has lived in Hong Kong for ten years.
他在香港已住了十年(現(xiàn)在還住在香潛)。
He lived in Hong King for ten years.
他曾在香港住過十年(現(xiàn)已不住在那里了)。
I saw her once only.
我(在某時某地)只見過她一次面。
I have seen her once only.
(從出生到現(xiàn)在)我只見過她一次面。