I have known him for two years.为啥不对?

问题描述:

I have known him for two years.为啥不对?
I knew him two years ago,过去式,只能说明,你在两年前是认识他的,或表达我在两年前就已经认识他了.
你们俩个到底什么时候初次认识对方的,这句话里没有表达清楚.
最常用地道的表达“我两年前(初次)认识他的”是:I got to know him two years ago."get to know"就有初次认识的意思了.或者用完成时,换一种方法说,我们是朋友已经两年了,We have been friends for two years.
“I met him two years ago.”跟I knew him two years ago类似,还是不对的.只能说明你两年前遇见他.不能说明你们什么时候最初认识.如果要用met,应该加上first,I first met him two years ago,就清楚的表达出我最初是两年前见到他的.
know 状态性动词,它后面可以跟表示时间延续的状语.
meet 终止性 或点动词,它后面不可以跟表示时间延续的状语.
I have known him for two years.【正确】【原因是:know属于状态性动词】
I knew him two years ago.【错句】【原因是:你认识他就随时能够认识他,没有动作,比如你的同学肯定认识吧,不存在时间问题.所以改成下句就对了】
I met him two years ago.【正确】
I know him.我认识他.【正确】

I have known him for two years.【正确】【原因是:know属于状态性动词】
know 状态性动词,它后面可以跟表示时间延续的状语.
meet 终止性 或点动词,它后面不可以跟表示时间延续的状语.
如果写成:I knew him two years ago.【错句】
【原因是:你认识他就随时能够认识他,没有动作,比如你的同学肯定认识吧,什么时候都一见如故.所以改成下句就对了】
I met him two years ago.【正确】
I know him.我认识他.【正确】
I knew him two years ago,过去式,只能说明,你在两年前是认识他的,或表达我在两年前就已经认识他了,但是外国人不这样说而习惯于说:I met him two years ago.