2 完成体的时间状语问题(have repaired the road in three days)

【1】They have repaired the road in three days.请问后面的in对不对。【2】since 引导的时间状语, 能否用作表示"对现在的影响完成体"的时间状语?
请先 登录 后评论

最佳答案 2019-04-03 21:06

1 They have repaired the road in three days. 他们用了三天时间修好了路。

本句in three days作repair这个动作的持续时间状语,没有任何问题。repair后接宾语,为终结性持续动词。in介词短语表示repair的动作持续若干时间后结束,宾语的状态发生改变(由破损转变为完好)。

这个句子可以改写为 It has taken them three days to repair the road. 意义不变。

我觉得刘老师大意了。They have repaired the road for three days.这个句子是错句。终结性动词的非进行体不可以和for持续时间状语连用。改正这个句子的方法有二个:1)去掉时间状语,They have repaired the road. 2)  改为现在完成进行时,They have been repairing the road for three days.

2 since时间状语可以表示二层意思:1)状态或习惯从过去持续至今;2)事件发生在从过去至今这段时间内的不确定的时间点。第二种意义就可以表示过去事件对现在的影响。例如:

He has moved to Beijing since you left.

他搬到北京这个事件发生在你离开到现在这段时间内的某个时间点,具体时间没说。反正现在他不在原来的住处了。


请先 登录 后评论

其它 2 个回答

刘永科   - 教育出版集团英语总顾问 & 英语系列图书主编
擅长:语法理论,语言学,文化背景

第一个问题:用 in 没错。我用两个句子做比较,来分析这个问题。

1. They have repaired the road for three days.

2. They have repaired the road in three days.

句1,“他们修路已经三天了。” 只表示修路这个动作,持续至今已经3天了,但没有说明已经修完。

句2,“他们在三天内修好了这条路。” 表示修路这个动作,用了3天的时间已经完成。这“3天时间”具体指过去的哪3天不得而知。

第二个问题:网友的意思,是不是说:含有since 从句的复合句,其主句使用现在完成时,是否对现在构成影响?


请先 登录 后评论
陈才   - 英语教师
擅长:中考英语,词法问题

They have repaired the road in three days(现在完成时态)

=They repaired the road in three days(一般过去时态)

备注:以上介词:“in=within”

请先 登录 后评论
  • 0 关注
  • 4 收藏,2756 浏览
  • zbr1016. 提出于 2019-03-30 21:42

相似问题