英语易混词词汇大全(机械工业出版社)p347:
他已经来了两天了。
误:He has come here for two days.
正:He came here two days ago..
正:He has been here for two days.
正:It's two days since he came here.
说明:come是终止性动词,不能和表示持续一段时间的状语for two days连用。但He has come here for two days.是成立的,不过意思变为:“他已经来了,准备呆两天”。介词for在这里表示“目的”。
但《牛津高级英汉双解词典》come词条下有一例句:
I've come here for an hour. 我才来了一小时。
按照《英语易混词词汇大全》的解释,该例句应翻译为:我来了,就待一个小时。
我现在不知道谁对谁错,请专家指教,谢谢!