上篇文章我们已经大致介绍了现在完成时的结构,今天我们来讨论两个常用句式和常用搭配词
How long have you...
在对话中,我们经常用how long have you... 专门用来问对方“你完成......多久了?”,很抽象吧,直接上例子:
时间线索1:Jill is on holiday in Italy. She is there now.
Jill 正在意大利度假,她现在正在那儿。
时间线索2:She arrived in Italy on Monday.
她是星期一到达意大利的。
时间线索3:Today is Thurday.
今天是星期四。
而与how long相对应的,我们用for 和 since 来回答:
所以 how long has Jill been in Italy?
Jill 已经在意大利多久了呢?
--Jill has been in Italy forthree days.(从星期二~星期四)
Jill已经在意大利三天了。
--Jill has been in Italy sinceMonday.(从到达当天算起)
Jill 从星期一已经在那了。
由上可以看出,用“for 一段时间”可以表示多久了。
用“since 开始的那一天”也可以表示多久了。
我们再来看个例子:
目前时间:2020年4月
How long have you bought your car?
--I have bought my car for 5 five years.
我已经买车5年了。
也可以说
--I have bought car since 2015.
我2015年就买车了。
而部分人会把 for 和 ago 混淆,但是,主要记住for与现在完成时搭配,ago与一般过去时搭配即可。
还是以Jill的事为例:
When didJill arrivein Italy?
--She arrivedin Italy three days ago.
How long hasJill beenin Italy?
--She has beenin Italy for three days.
just & already & yet
在现在完成时里还常见jsut,already,yet的搭配,到底怎么用?什么时候用?
Just=一小段时间之前,时间很短促,刚刚
Is Marco here?
--Yes, he has just arrived. 他刚刚到。
Are you hungry?
--No, we have just hadour lunch.我们刚刚吃完午餐。
Is Tom still here?
--No, I‘m afraid he has just gone. 他刚刚离开。
Already=在某人预料的情况之前已经完成
What time will Jill and Marco come?
--They‘ve already arrived. 他们已经到了(在你的预料情况之前)
Paul, this is Mary.
--Yes, I know. We‘ve already knowneach other. 我们已经互相认识彼此了。(在你的预料情况之前)
Yet=直到现在
用于否定句中:
Is Marco here?
--No, he hasn‘t arrived yet. 他直到现在还没到。
Does Jill know you‘re going away?
--No, I haven‘ttold her yet. 我直到现在还没有告诉她。
用于问句中:
HaveJill and Marco arrived yet?
--No yet. We still waiting for them.
HasCrystal startedher new job yet?
--No, she will start next week.