语境如下:
妈妈看到大明在玩电脑,然后问大明:你怎么还在玩,快去写作业啊!
大明说:昨天我的作业已经写完了。(意思是昨天写的作业并且在昨天完成的作业)
那请问“昨天我的作业已经写完了”应该用什么时态?
我的疑问:因为有“昨天”,应该用一般过去时,但是这句话又有“我的作业已经写完了,现在不用写了”过去的动作对现在造成了影响,这个应该是现在完成时。
所以请问到底应该用什么时态表达呢?
如果你用yesterday作时间状语,你就应该用一般过去时。如果你用yesterday作homework的定语,你可以用现在完成时。其实你的表达有逻辑错误:你母亲让你做作业,是指你今天的作业。如果今天是周日,你周末的作业昨天已经做了,那你做的是周末的作业而不是昨天的作业。
I already did it yesterday. 我昨天已经做完了。
I have done it already. 我已经做完了。
I have finished yesterday's homework. 我已经做过昨天的作业了。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!
首先现在完成时属于现在这个时间范畴的时态,是不可以和过去的时间状语连用的,如yesterday(morning、afternoon), last(week, year),three days ago等, 除非与since连用接过去的时间点, 表示从过去某个时刻开始到现在。
其次现在完成时在使用的时候也是个非常活的时态,它表达的是过去的行为对现在有影响,很多时候是根据说话人来决定的,说话人觉得有影响就可以用,当然有些明确是对现在有影响的就必须用现在完成时。就比如你这个例子,可以用过去时回复:I already finished it yesterday. 只是单纯的表达我昨天已经做完了;也可以用现在完成时回答:I have done it already.表示我已经做完了,对现在的影响就是我可以玩了,你不要唠叨我。
最后其实你纠结的东西是你自己给自己设限了,你设定的场景中答句是昨天我的作业已经写完了,其实正常语序应该是我昨天已经把作业写完了,但是这是中文思维,其实英文如果用现在完成时回答,对方就知道你是过去就完成了,正常会问一句:When?然后可以再回答具体的时间。或者你回答的时候就可以说since yesterday。
这位网友问了一个很好的问题。你的这个语境:“作业昨天已经写完了” (题目原话),除了其他老师解答的之外,也可以用现在完成时,即:I have already finished my homework yesterday. 但这种用法比较特殊,局限于某些语境。此用法是多数人不熟悉的,甚至包括母语的人,国内语法书更是没有涉及到。《剑桥语法》的作者Huddleston 就持这种观点,可以使用现在完成时。但作为非母语的初学者不要模仿,尤其是考试时属于错误。在普通语境,通常不接受。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!