你可以试着解释一下have been predicting 是什么意思,是不是就可以理解,为什么predict没有这种惯常的用法了? 什么是所谓的“一直预测着”?中文也不会这样表达对吧?因为“预测”,不像“思考”,这个动词不会涉及到“是否持续”这个问题,它更多的是一种表态。
2.in the last year,我觉得一般来说是一般过去时,表示一件事情在过去的某个时间发生。另外,完成时在一些时候是表“完成”的意思,一些时候是表“持续到现在”的意思,一些时候两个意思兼有,即“持续到现在并完成”。所以你通过完成时态所想表达的意思来判断是否要用完成时吧。比如since last year,可能就需要用完成时,因为它可能代表着“自从去年以来”的意思。
umm... 1.GWD里有这样一个句子:Since February, the Federal Reserve has raised its short-term interest rate target five times, and because of the economy's continued strength, analysts have been predicting for weeks that the target will be raised again in November. 上面crystalbain分析得很有道理,但是事实上如果predict的施动者很多,而且持续性地不断地有人在预测,那么用have been predicting也不无道理。
2.in the last year我觉得应该跟last year区分开,in the last (ten) year(s)/week(s) 这种表示“最近几世纪/年/月以来……”时间状语中,谓语动词用现在完成时。