for与since都能与现在完成时连用,但区别较大:
for后须接“时间段”,since后须接“时间点”,二者可以转换,均须与延续性动词连用,也可以与非延续性动词的否定式连用。二者引出的时间状语往往用 how long提问。如:
He has been here for two years.=He has been here since two years ago.他来这里已有两年了。
—How long have you had this book?这本书你买多久了?
—For a week./Since a week ago.买一周了。
We haven't heard from him for a month.我们已有一个月没收到他的来信了。
since能引导时间状语从句(主句用现在完成时,从句用一般过去时),而for则不能。如:
He has taught here since he came to China.自从他来到中国就在这儿教书。 It is /has been an hour since he left here.他离开这儿已有一小时了。