选A
首先,您说的很对,根据IoncewenttoNewYork还有回答提问Howlong_there?说明是过去发生的事,那么B是不选的,因为have完成时表示动作持续到现在为止,显然谈论的是【过去的时间段】,所以B肯定不选
其次关于howlong
那么无非是did,do,will过去时,现在时,将来时.
Howlongdidyoustaythere?(表示已经完成)对应的是过去式,问过去的情况
1Howlongdoyoustaythere?一般现在时,你要在这里呆多久?
2Howlonghaveyoustayedthere?问这话的时候,还在住或者快要不住了
这不一样吗?但是好像第2句完成时的多一点,因为问howlong问题的时候一般强调【已经】多一点
其实也不尽然,一般现在时表示的是一种频率、一种生活中固定的常态.完成时表示的是生活中特有的一点.比如
这句话例子并不好,更好的例子+++
HowlongdoyouusuallywatchTV(表示你常常看电视,你看电视一般品均要几小时呢)
HowlonghaveyouwatchedTV(比方今天我看见你怎末老在看电视啊,那我就对这一时间点来一句,你看了多久啊)
归根结底是一般时和完成时的侧重不一样
Howlongwillyoustayhere?表示将来时
那用D的情况是什么呢,我的理解是用had完成时表示有2个动作,也就是有过去的过去现象存在
比如7.-----Howlong___eachotherbeforethey__married?
_____Foraboutayear.
A.havetheyknown,getB.didtheyknow,weregoingtoget
C.dotheyknow,aregoingtogetD.hadtheyknown,got
答案是:D,为什么不是A?
因为认识的动作发生在结婚之前……
都是我整理得,可以来消息交流^^