had been与has been用法有何区别? have been和has been用法有何区别?

作者&投稿:边削 (若有异议请与网页底部的电邮联系)

had been是过去完成时,强调的是过去。 

has been 是现在完成时,强调现在情况下完成的东西对现在的影响。



如何区分have been\has been\had been这三个时态?

现在完成时和过去完成时,是让很多英语学习者头痛的两个时态。

迷惑的时候去翻语法书,但是往往都是:一看就懂,一用就懵。

最近刚好有一个学生问到这个问题,既然这样我们就来好好掰扯掰扯吧!

在学习语法时,我们始终要记住一点,先有语言再有语法。所以无论语法看起来多么复杂,它始终是为了说、写或研究语言而服务的。而我们学习语法则是为了能说出或写出符合某种语言规则的句子。

1. 终极要义:无论是现在完成时或是过去完成时,它都是站在某个时间节点,对这个时间点之前所发生的动作进行陈述或总结。

所以当我们想要用这两个时态的时候,问一下自己,说话的当下我的时间节点是什么。是现在吗?那就用现在完成时;是过去吗?那就用过去完成时。


2. 现在完成时 - have/has been/been doing/been done

1)定义:现在完成时,该时态表现的是,某动作行为开始于过去但持续到现在或对现在产生影响。

它讲的是从过去到现在的事情,强调的是与“现在”的关系。是处在“现在”这个时间,对此之前发生的一个或多个动作进行描述。


2) 现在完成时 - have/has been

  • 若使用现在完成时的主语为I/ You/ We/ They 或名词复数(Cars/ Children/ People),则使用have been;

  • They have been married for 23 years since 1997.

    他们已经结婚23年了。

    放到时间轴里,我们可以看到,他们于1997年结婚且持续到现在。所以,我们站在现在(now)这个时间点来陈述“have been married”,理解到的意思是他们再1997年的时候结婚了,并且现在还存在婚姻关系。

  • 若使用现在完成时的主语为He/ She/ It 或名词单数(Car/ Child/ Person),则使用has been;

  • He has been to Japan three times, in 1993, 1995 and 2000, but he has never visited Hokkaido.

    他曾去过日本三次,但他未到访过北海道。

    放在时间轴里,我们可以看到,他曾经去日本三次,分别在1993、1995以及2000年。到访日本这个动作在过去发生了三次。所以我们可以站在现在(now)这个时间点来陈述“he has been to Japan three times”。

    3)现在完成进行时 – have/has been doing

    表示一个持续发生的动作(从过去到现在),动作通常仍会持续下去。

    I have been watching movie for 2 hours/since 3pm.

    我已经看了两个小时电影了(下午3点开始看)。

    从时间轴我们可以看到,站在现在(now)这个时间点,对过去已经开始并且还在进行的“watching movie”看电影这个行为做出描述,我们可以说“I have been watching movie”,可以理解得到的意思是,我下午三点开始看电影,已经看了两个小时,接下来我还会继续看。

    4) 现在完成时(被动语态)- have/has been done

    要讲现在完成时的被动语态,首先要理解英语的被动语态,以及知道如何将主动语态转换成被动语态,反之亦然。

    英文里的被动语态中,主语为动作的承受者。

    我们来看以下的主被动转换。

  • 主动句

  • Thomas Edison invented the light bulb in 1879.

    托马斯·爱迪生在1879年发明了电灯泡。

  • 被动句

  • The light bulb was invented (by Thomas Edison) in 1879.

    电灯泡(由托马斯·爱迪生)发明于1879年。

    再来看一个现在完成时被动语态的句子:

    That girl has been sent to the hospital.

    那女孩被送到了医院了。

    从时间轴里我们可以看到,被送去医院的这个女孩是动作的承受者,而站在现在(now)这个时间点,对“被送”这个已经完成的动作,我们可以进行描述“That girl has been sent to the hospital.”。

    3. 过去完成时 - had been/ been doing/ been done

    1) 定义:过去完成时,该时态表示的是,某个行为动作再过去某个时间点之前已经结束/完成。它讲的是过去的过去,强调的是与“过去”的关系。是处在“过去”的某个时间,对此之前发生的一个或多个动作陈述。必须要有过去的时间或动作来比较。

    2) 过去完成时 – had been

    当使用过去完成时的时候,无论主语是什么,我们都用“had been”。它强调的是在过去开始在过去结束。

    The plane had already taken of when she arrived at the airport.

    她到达机场的时候,这家飞机已经起飞了。

    从时间轴我们可以看到,在“she arrived”之前,这架飞机已经“took off”,也就是说,飞机起飞这个事情发生在她到达之前,飞机起飞发生在过去的过去。

    两个时间点past1和past2都在过去。而我们站在过去(在这个句子中是“she arrived at the airport”)这个时间点对“plane took off”这个动作进行陈述,就可以说是“the plane had taken off”。

    3) 过去完成进行时 – had been doing

    过去完成进行时表示,在过去某个时间之前一直持续的动作, 并且这个动作不会持续到现在。

    It had been snowing for three days when we arrived.

    在我们到达之前,这里下了三天的雪。

    从时间轴我们看到,这场雪在过去的某个时间点开始并持续下了三天“was snowing for three days”,但是雪在我们到达这个地方“we arrived”之前已经停了。下雪开始于过去也停雪于过去。

    两个时间点past1和past2都在过去。下雪是在过去某个时间段里持续发生的事情,但没有持续到现在。而我们站在过去(在这个句子中是“we arrived(here)”)这个时间点对“it was snowing for three days”这个事情陈述,就可以说是“it had been snowing for three days.”。

    4) 过去完成进行时(被动语态)– had been done

    过去完成时的被动语态表示,某件事情或动作在过去的某个时间点之前已经完成。常与by,before等引导的时间状语连用。

    The classroom had been cleaned before the teacher came.

    老师来之前,课时已经(被)打扫过了。

    从时间轴我们可以看到,课室卫生“Classroom was cleaned”在老师来“teahcer came”之前已经完成。

    而我们站在过去(在这个句子中是“teacher came(to the classroom)”)这个时间点对“classroom was cleaned”这个事情陈述,就可以说是“The classroom had been cleaned before the teacher came”。

    4. 现在完成时(have been)与过去完成时(had been)的比较

  • 现在完成时(have/has been),用来表示某个过去近期发生并对现在产生影响的事情或动作。

  • 过去完成时(had been),用来表示在过去的过去发生的事情或动作,并且这个事情或动作不会对现在产生影响。

  • 来看两个例子:

  • I have been working as a teacher for 7 years/ since 2013.

  • 我当老师已经又7年了(还会当下去)。

  • I had been working as a teacher for 7 years when I quit my job.

  • 在我辞去工作之前,我当老师已经有7年了(已经不当了)。



had been与has been的区别为:

一、指代不同

1、had been:曾经。

2、has been:已经。

二、侧重点不同

1、had been:这里的had是过去式。

2、has been:这里的has是第三人称单数。

三、引证用法不同

1、had been:have / has + 过去分词,be 动词的现在完成时也是这样:have / has + been,been 就是 be 的过去分词而已。

2、has been:be 表示“是、存在”,而 have / has been 表示的是“完成的状态”。
1、have been 和 has been 只是根据前面主语的人称而定,都是一般现在完成时 。

2、如果前面是I,you,we以及复数形式的主语则是have been ,第3人称单数如he,she,it,则是用has been ,有been的话表示被动语态 。

3、had been则是过去的过去,是过去完成时,和上面一样有been的话表示被动语态 ,如果都加done的话,都是表示已经做完某个事情,只是时态不同,had been 单复数用法没有区别 第一第三人称都是用had。

had been与has been的区别为:

一、指代不同

1、had been:曾经。

2、has been:已经。

二、侧重点不同

1、had been:这里的had是过去式。

2、has been:这里的has是第三人称单数。

三、引证用法不同

1、had been:have / has + 过去分词,be 动词的现在完成时也是这样:have / has + been,been 就是 be 的过去分词而已。

2、has been:be 表示“是、存在”,而 have / has been 表示的是“完成的状态”。

had been 多用在对主语的过去式虚拟语气中,平常句子用的较少,需要过去的时间点在表示过去。
has been 就是主语是第三人称单数的时候,have变has,和正常的完成时态一样,并且所有的完成时态前面都可以加情态动词,表达一种对过去的评价或推测
如 could have like you,我本来能够喜欢你的,这句话的意思就表明了一种对过去的评价。

时态不同,had been用语过去完成时,has been用语现在完成时。

had been与has been用法有何区别~

这两个词的区别我知道,"Has been"表示从过去延续到现在的动作或状态,常用于现在完成时,与第三人称单数主语连用;而"Had been"表示在过去某个时间点之前已经发生并完成的动作或状态,常用于过去完成时,可与任何人称的主语连用。先来看看它们的基本意思吧!

下面来看看它们的区别有哪些吧!
1、时态和动作发生的时间关系不同
"Has been"是现在完成时(Present Perfect)的形式,用于描述从过去某个时间点开始,一直延续到现在的动作或状态。它强调的是过去到现在的持续性。而"Had been"是过去完成时(Past Perfect)的形式,用于描述在过去某个时间点之前已经发生并完成的动作或状态。它强调的是过去某个时间点之前的先前性。
例句:
He has been a teacher for 10 years.(他已经做了10年的老师了。)
By the time I arrived, she had already been to that country.(在我到达之前,她已经去过那个国家了。)
2、主语不同
"Has been"常与第三人称单数主语(he, she, it)连用,表示该主语的动作或状态从过去延续到现在。而"Had been"可以与任何人称的主语连用,表示过去某个时间点之前的动作或状态。
例句:
She has been to Paris twice.(她已经去过巴黎两次了。)
They had been friends since childhood.(他们从小就是朋友了。)
3、描述不同
"Has been"常用于描述过去的经验、成就或经历对现在的影响,以及强调现在的结果或状态。而"Had been"常用于描述过去某个时间点之前的情况或动作的完成。
例句:
She has been to many countries, so she has a broad perspective.(她去过很多国家,所以她有广阔的视野。)
By the time he arrived, the party had been over for hours.(在他到达时,派对已经结束了几个小时了。)

have been和has been 都是现在完成时态
主语是第三人称单数(he , She,it,某人,等)用has been
其它人称用have been

He/ She / Anna has been to Beijing.
We /They / Amy and Miller have been to Beijing.