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