不妨设置几个角色。这个做飞行员的叫阿呆,今年40岁。他有个老爸。我们为每个句子设置个场景。
一、以下这几个是基本时态,应该没什么悬念。
1.一般现在时:he is a pilot.
2.一般过去时:he was a pilot.
3.一般将来时:he will be a pilot.
9.现在完成时:he has been a pilot.(一直做了10年飞行员直到今天。)
二、这几句不妨一说:
场景:老爸对邻居说:10年前,就是阿呆30岁时,我就预言他会做飞行员。他会这么说:
4.一般过去将来时:he would be a pilot.(10年前是过去,那之后就是过去将来。)
场景:老爸对邻居说:10年前,我搬到这里,在那之前,阿呆就做了10年飞行员了。他会这么说:
10.过去完成时:he had been a pilot (for 10 years)(10年前搬家,过去时。此前持续10年,过去的过去。即阿呆20岁开始开飞机,直到30岁搬家还在开).
场景:老爸对邻居说:阿呆30岁开飞机,现在40,再过10年,他50岁时,就整整开了20年飞机了。他会这样说:
11.将来完成时:he will have been a pilot (for 20 yrs by then)(50岁是将来。这个将来之前,一直开了20年。)
场景:老爸对邻居说:20年前,我就预见阿呆在自己30岁时,就已至少开了5年飞机了。他会这样说:
12.过去将来完成时:(i predicted)he would have been a pilot (for a least 5 yearsbefore his 30) (20年前是过去,10年后阿呆30岁,是将来时,30岁前一直开5年,用完成时。)
三、一下这几种,完全可以用简单时态取代。
be serving as那几句是为了凑足时态造的句子。虽然没有大错,但总归叠床架屋,如果不是有特别的需要,比如强调语气,我想一般不会有人这么说。
另外,这里大概只能用serve这个词。表示“做。。。”,以用系动词为主。但出现be being是不妥的,很古怪。我看到有人用becoming。这虽然避免出现be being,但be becoming形为现在时而实有将来时之意(解作:将来会成为)。实意动词里我只想到serve (as)这个字,在这里是很恰当的。
总而言之,我相信很少人会费劲说这么拗口的句子:
5.现在进行时:he is serving as a pilot.(可直接以he is a pilot取代之)
6.过去进行时:he was serving as a pilot (then)(可直接以he was a pilot取代之)
7.将来进行时:he will be serving as a pilot.(可直接以he will be a pilot取代之)
8.过去将来进行时:he would be serving as a pilot.(同理)
13.现在完成进行时:he has been serving as a pilot (for ten years) (此句以下,皆可做相应取代)
14.过去完成进行时:he had been serving as a pilot (for ten years by then)
15.将来完成进行时:he will have been serving as a pilot (for ten years before his 60)
16.过去将来完成进行时:he would have been serving as a pilot (for ten years if he began it at his 23.)(可直接以he would have been a pilot取代之)
参考资料:http://zhidao.baidu.com/question/60383072.html?si=1