现在完成时的用法, have/has + ved
1、现在完成时表示动作发生在过去,虽然发生在过去,但更强调动作对现在的影响。
2、表示发生在过去的一个动作,并且一直持续到现在。
很多人容易把"一般过去时"和"现在完成时"弄混。以为它们没什么区别可以互换,其实不然。
区别
1、过去时和完成时虽然动作都发生在过去,但过去时的时间概念是明确的,用过去时说话的人往往是想强调过去的时间,或是过去的结果,和现在没有任何关系。
而现在完成时的时间概念是不明确的,用完成时说话的人往往是想强调过去的某一事件对现在的影响,现在与过去的一种联系,或是想强调现存的结果,对于什么时间发生的并不在乎。
试比较下面几句
I haven't seen him this morning. 意思表达的是,我今天中午没见到他,并且直到现在也没有见到他。
i didn't see him this morning. 意思表达的是,我今天中午没见到他,现在见没见到不好说,因为句子只强调了在中午没有见到他。所以你可以问他,后来呢?
I still haven't passed my driving test yet. 意思是直到现在也没考过。
i didn't pass my driving test last year.
Have you passed your driving test?
yes, i passed when i was 17.
由于过去时的时间概念是明确的,所以常和时间明确的词连用,如ago, yesterday等。
而现在完成时常和表示与过去有关系的词在一起用,如since(自从),before(之前),so far(到目前为止),up till now(直到现在),注意的是,由于完成时的时间概念不确定,所以不用和有明确时间意义的词在一起用,如i've been here two days ago, 是错误的说法,你可以说,i've been here for two days, 我在这呆了两天了。
此外现在完成时有时也表示最近发生的动作。
如,i've just tidied up the kitchen. 我刚刚把厨师收拾干净。
he's recently arrived from new york. 他最近从纽约来
此外,现在完成时在翻译成中文时,大多带有“已经怎么怎么样”的感觉。如果你想表达出你已经怎么样的时候,大都可以用现在完成时来说
如: I've done all my homework. 我已经把作业做完了, 至于在什么时间完成的我不关心,重要的是我现在作业都做完了.