would +完成时,可以表达两种情况:
1. 表示虚拟语气,与过去情况不符或相反。
2. 表示对过去发生事情的可能性推测。
我想问有没有第三种情况是表过去将来完成时的。
I thought Sophia would have told you something
这里语义是 我想索菲亚会已告诉你一些情况 还是我想索菲亚可能会告诉你一些情况。
还是说这要看语境来判断是哪个的吗?
谢谢回答!
刘老师:
1. “过去将来完成时”的定义是:过去将来完成时,主要以过去某时间点为参照,表示到过去某一时刻将会完成的动作。
2. 该时态使用情况较少,一般用于转述他人的语句,原语句的时态为“一般将来完成时”(will have done);或者用于过去观点的宾语从句中。
“过去将来完成时”多用于以下宾语从句中:
He said that...
I was told that...
He heard that...
I thought that...
Tom guessed that...
He knew that...
3. 句中多用by the time...之类的过去将来时间短语。
例如:
My husband said he would have come back by the end of next year.
我丈夫说过他明年年底就会回来的。
I was sure that we would have solved the dispute by that time.
我确信到那时我们就已经解决这个争端了。
He knew by the time he arrived she would have gone home.
他知道他到达时她就会已经回家了。
4. 关于你的句子:I thought Sophia would have told you something.
我认为,该句语境不充分,很难判断宾语从句是“过去将来完成时”,还是虚拟语气,还是对过去的推测。因为这个宾语从句太孤立了:Sophia would have told you something.
如果再加上一个时间状语或者条件状语,就容易判断了。
陈老师:
I thought Sophia would have told you something.
我认为索菲娅会已告诉你一些情况。(属于过去将来完成时态用法)
would have done sth 结构有以下2种含义
(1)would have done sth 表示过去将来时态用法,即在过去某一时间看将来某一时间完成动作或存在状态。
The party would have arrived by four o’clock.
这一行人将于4时前到达。
She said she would have finished her exams by then.
她说那时她会已经考完试了。
He knew by the time he arrived she would have gone home.
他知道他到时她会已经回家。
I guessed that Mother would have made some sandwiches by the time we got back.
我猜我们回来时妈妈已经做好一些三明治了。
He said he would have done with my camera by the end of next month.
他说到下月底就不用我的照相机了。
(2)would have done sth 表示对过去发生事情一种虚拟假设,属于对过去虚拟用法。
If you had come here yesterday, you would have seen him.
如果你昨天来到这里,你就会看见他了。
If he had taken my advice, he would have succeeded in the test.
如果他过去接受了我建议,他在试验中就已经成功了。