Present Perfect Tense 本身可表達兩個意思:
1.) 有某件事情(或動作)已經發生了, 但不清楚發生的時間.
E.g.1 I have just closed the window. (我剛剛把窗關了.)
E.g.2 I have already washed the clothes. (我已經把衣服清洗完)
留意在E.g.1和E.g.2中的key words “just” 和 “already”
2.) 有某件事情(或動作)在過去的時間發生了, 一直延續到現在.
E.g.3 I have lived here since 2000. (我從2000年開始在這裡居住)
E.g.4 I have lived here for 9 years. (我在這裡已住上9年了.)
留意在E.g.3和E.g.4中的key words “since” 和 “for”.
你所問的句子就是第二種情況! 如果你要用去表達你已住上10年, 用in就不正確了.
介係詞 (preposition) “IN” 在某些時候是用來表示完成某事情所使用的時間, 例如:
E.g.5 I just finished my homework in 30 minutes.
我只用了30分鐘便完成了我的家課.
另外也會用來指明時間如年, 月, 日, 時 .. 等, 你會看見是用某單一時刻而不是時段, 請看以下例子:
E.g.6 ABC Company was established in 2001.
ABC公司於2001年成立.
E.g.7 ABC Company has established since 2001.
ABC公司從2001年開始成立.
E.g.8 ABC Company has established for 8 years.
ABC公司成立至今已有8年了.
在E.g.6中用了過去式 (Past Tense), 句子只是交代公司是在哪一年成立, 但沒有交待ABC公司是否仍然存在的意思, 而這句句子是回應以下問題.
”ABC公司是在哪一年成立的?”
在E.g.7和E.g. 8兩句是用現在完成式 (Present Perfect Tense), 基本所表達的都是同一樣的意思, 就是表示ABC公司由2001年開始直到現在都仍然存在, 只不過E.g. 6告訴你從哪一年開始計算, 而E.g.7就告訴你成立了多少年.
以往我也層解答類似的問題, 以下連結提供參考:
http://hk.knowledge.yahoo.com/question/question?qid=7009120300713
http://hk.knowledge.yahoo.com/question/question?qid=7009112300907
HAVE A NICE DAY!!!! ^_^