如题. 有一次去看医生,得了流感
我跟医生说 i have flu
医生问 how long have you had it for?
然后我的问题是,为什么医生不问 have long have you been having it for? 就是为什么不用been having,而用have had??
然后另一个相似问题,卖家在ebay上卖架电脑, 描述是 i`ve had it for a year
为什么不用 i have it for a year或i have been having it for a year???
不确定的别回答了, 不想被误导 因为已经很confused了.. :)
hmmmm 半理解半不理解 但首先谢谢你指教
这么问吧,以下分别哪些情况用哪句?为什么?
He has been having an affair for years
He has had an affair for years
He has run the business for years
He has been running the business for years
He has been coughing for years
He has had a/the cough for years
(1)be doing sth 意思是正在做某事 是某时刻正在进行的事情 而生病是一直延续的动作,不是说某一时刻生病了现在不生病了,而是生病这个动作一直延续到现在 因此用have had 现在完成时表达已经生病的事实
(2)第二个问题中 for/since+一段时间,都是现在完成时的标志短语,从买电脑一直延续到现在的动作因此用现在完成时,现在完成时是指已经发生了而且延续到现在的动作。
扩展资料:
1. 在现在完成时中,谓语动词的完整形式是“ have/has + 过去分词 ”,如果主语不是单三的,就用 have:
Have you had any coffee yet? 你喝点咖啡没有?
I have had some coffee. 我已经喝了一些咖啡。
以上两句中,都是用 have 帮助后面的 had(喝),与had一起构成完整的“现在完成时的谓语动词”。
2. 如果主语是单三的,就会用 has 来帮忙,以反映主语的“单三”属性。
He has finished already. 他已经完成了。
Has your father come back yet? 你爸爸已经回来了吗?
3. 上面是现在完成时的例子,关于现在完成时,我们会在随后的时态讲解中展开。下面看看 had ---过去完成时的助动词。过去完成时的用法,大家可以简单地理解为“过去的过去”,在过去完成时中,完整的谓语结构“had + 过去分词 ”:
When I entered the classroom, I found that they had moppedthe floor carefully. 当我走进教室,发现他们已经把地板仔细地拖过了。这里的had 就是后面 mopped 的助动词,以帮助mopped表明“过去”的时间概念。在过去完成时中,不区分单复数。
上半部分好像明白
但下半部分不明白,为什么说对现在影响
那您能假设个情景 什么时候该用 have been having sth,什么时候该用have had sth
越多例句和解释越好 谢谢
先说have/has been doing 这个句型吧,表示说话人过去发生的动作持续到现在并有可能持续下去,强调动作的持续性和影响性。比如,你的朋友在等莹莹,你给莹莹打电话说:你快点,He has been waiting for three hours。这句话所表达的意思是他已经等了三个小时,在过去的三个小时里动作是持续性的,而且你给莹莹打完电话,莹莹不能马上就出现,所以,“等”这个动作还是可能持续的。你的那句 ;什么时候该用 have been having sth其实还是说话人侧重点的问题,在文中见到这个句型是你只要能翻译准确这个句型的意思就说明你掌握了,你翻译一下下面两句话,‘这个女孩已经在国外呆了三年了。’和“他画这幅画已经画了好几天了”,翻译完了你就会发现这个句型和have had sth有什么不同了,先把这个句型弄清楚在看别的就不容易混了,不要两个放在一起研究,不然谁都会晕。还不明白我在想办法。O(∩_∩)O~