现在完成时表示过去的动作或状态持续到现在并且已经完成,对现在造成的影响,可能持续发生下去。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 谈及的是一个从过去到现在的一个时间段时,后面的从句用现在完成时。