since和for两者的区别是:for可以表达过去、现在和将来的时间,后面接的是时间段,如:for seven days,而since只能用于过去和现在的时间表达,后面接的是时间点,如:since two days ago。
1. Since 用来说明动作起始时间,for用来说明动作延续时间长度。
例句:I have lived here for more than twenty years.
我已经住在这里超过20年了。
I have lived here since I was born.
自从我出生就一直住在这里。
注意:并非有for 作为时间状语的句子都用现在完成时。
例句:I worked here for more than twenty years.
我在这里工作超过20年了。(我现在已不在这里工作。)
I have worked here for many years.
我在这里工作了很多年。(现在我仍在这里工作。)
PS:当现在完成时+一段时间,这一结构中,我们用下面的公式转化,很容易就能排除非延续动词在完成时中的误使。
例句:(对) Tom has studied Russian for three years.= Tom began to study Russian three years ago, and is still studying it now.
(错) Harry has got married for six years.= Harry began to get married six years ago, and is still getting married now.显然,第二句不对,它应改为 Harry got married six years ago. 或 Harry has been married for six years.
2. 如果使用这个句子:"It has been…(某年或某个时间)时,因为该句为现在完成时态时,所以必须使用since。
例句:It has been 5 years since Iquitsmoking.
我戒烟已经5年了。
Next month, it will have been 4 years since I have been living in Brazil.
到下个月,我已经住在巴西4年了。
3. since 用来说明听众已经知道的原因,比较正式。
例句:As we lost the final game, we couldn’t qualify for the semi-final. 由于我们输掉了最后一场比赛,我们没有资格进入半决赛。
4. for 用来给出新的理由,不能放在句首,强调比较少的直接原因。
例句:I had tostayat home and finish my assignment – for the deadline was soon. 我不得不呆在家里完成我的任务,因为最后期限很快就到了。
We went to a small restaurant - for we were hungry. 我们去了一家小餐馆,因为我们饿了。