Her grandfather died seven months ago.(改为同义句)
Here grandfather __has__ __been_ __dead__ for seven month.
一般过去时换现在完成时
did sth some time ago=has done for some time.
has been doing是现在完成进行时,指从以前做起,一直到现在都在做,还有可能继续做下去.
而has done是现在完成时,主要有2种意思
(1)指从以前做起,一直到现在都在做,还有可能继续做下去.
(2)以前发生的事对现在有影响.
所以可用has been doing的地方都可用has done
而has been dead中been 是done的形式,dead是形容词