现在完成时表示过去的动作或状态持续到现在并且已经完成,对现在造成的影响,可能持续发生下去。for 和 since 是为数不多的几个可以用于现在完成时单词。那么它们有什么区别呢?
一、for 作介词时,与现在完成时连用时,后面连接的是一个时间段,不一定是确定的时间,但必须是一段时间,例如:
She has lived here for twenty years.
她在这里住了二十年了。
We have taught at this school for a long time.
我们在这所学校教书很久了。
Alice has been married for three months.
爱丽丝已经结婚三个月了。
They have been at the hotel for a week.
他们在旅馆住了一个星期了。
I haven't played tennis for a week.
我已经一个星期没打网球了。
二、since 后面连接的是一个时间点,可以是一个具体的年月日或事件,如 since 1903,since yesterday,since May,since 8 a.m.,since my birthday,since last Monday,since I was ten years old,译为“自…以后,从…以来”,表示某段时间的起点
1、since 作介词时,后面连接的是一个时间点,例如:
She has lived here since 1980.
她从1980年起就住在这里。
We have taught at this school since 1965.
我们从1965年开始在这所学校教书。
Alice has been married since March 2nd.
艾丽斯从三月二号就结婚了。
They have been at the hotel since last Tuesday.
他们从上周二起就一直在旅馆里。
I haven't played tennis since last Saturday.
从上周六起我就没打网球了。
2、since 作连词,当它引入在过去的某个时间点的一个动作或事件时,since 之后的从句用一般过去时或现在完成时,主句用现在完成时,例如:
一般过去时:
She's had that car since she started learning to drive.
她从开始学开车起就有了那辆车。
Cath hasn't phoned since she went to Berlin.
卡思自从去了柏林还没有打来过电话。
当 since 提到了一个从过去到现在的一个时间段时,since 之后的从句用现在完成时,例如:
现在完成时:
They haven’t received any junk mail since they’ve moved house.
自从他们搬家后就再也没有收到过垃圾邮件。
Since I’ve been back at work, I’ve been feeling great.
自从我回到工作岗位,我感觉很好。
三、how long 用来对某个动作或状态持续多久进行提问,例如:
How long have you known Maya?
你认识玛雅多久了?
可以用 for 和 since 来回答,例如:
1. For six years. 已经认识六年了。
2. Since I was twelve. 从我12岁开始就认识了。
四、两者的区别
1、在与现在完成时连用时,for 后面接一个时间段,而 since 接的是一个时间点。
2、在与现在完成时连用时,since 作连词时,后面的从句一般用一般过去时,但是当 since 谈及的是一个从过去到现在的一个时间段时,后面的从句用现在完成时。
关注外语行天下,后期更精彩。