请问did,didn't和have,haven't有什么区别吗?它们都是代表过去的,比如I didn't finish my work yesterday和I haven't finish my work yesterday都是代表我昨天没有完成工作,但是有什么区别呢?这两个词的用法有什么不同呢?

问题描述:

请问did,didn't和have,haven't有什么区别吗?它们都是代表过去的,比如I didn't finish my work yesterday和I haven't finish my work yesterday都是代表我昨天没有完成工作,但是有什么区别呢?这两个词的用法有什么不同呢?

did not侧重于描写叙述,I did not finish
my work yesterday.表示我昨天工作没完成。而have not则侧重于表示之前的一件事情对现在的影响。I have not finish my work yesterday.是指到昨天我的工作还没有完成。很有可能挨批,受责备之类的。这里的用法一般要根据语境去判断到底用那个。但是区别就在于此,一个代表白描,一个强调影响。

did 和didn't是过去时态,have 和haven't 是完成时态,你举得例子用did 那个表示昨天的作业没完成,老师批评你了或者有什么样的结果。而用have 的 那个是病句,现在完成时后面的时间状语不用yesterday.去掉yesterday 后表示到目前为止还没完成,也许一会就能完成了。

I didn't finish my work yesterday.
昨天我没完成我的作业.
I haven't finish my work yesterday.
这句子基本不存在,因为yesterday 昨天,已经过去了,句子应该属于过去式,而非 haven't,应为 had not
I had not finish my work yesterday.
昨天我还没完成我的作业.
基本与 I didn't finish my work yesterday.相近,不过多使用[I didn't finish my work yesterday.].
have / has / had = 已经.了
have not/ has not/ had not = 还未