回答

まず、

過去形⇒過去の一点を表す(現在とは関係ない)
現在形⇒日常的、永続的な事を表す
現在完了形⇒過去の一点をから現在への継続を
表す

というのが、イメージです!
(わかりやすくするために、現在形も追加)
写真を見てください!
わかりづらいですが、赤いのが時の矢印
青い線が継続している長さです!

まず、過去形。
これは過去の一点を表します。


I played tennis yesterday.
私は昨日、テニスをしました。

テニスをしたのは「昨日」であって、
今はしていませんよね(。'-')(。._.)?
過去の一点(昨日)のことを表しています。
過去形=思い出話
だと捉えてください!

次に、現在形です。
日常的で変わらないこと。
永続的なことを表します。


I play tennis every day.
私は毎日テニスをします。

テニスをするのは「毎日」です。
現在も「毎日」しているし、
過去も(1年前とか)「毎日」していました。
もちろん、明日からも「毎日」するはずです。

このように、現在形は日常的、永続的なことを
表しています。だからこそ、不変の心理は
現在形であらわすのですね* ¨̮ *
過去から未来までずっと続くイメージです!

最後に現在完了形です。
何となく、難しく思われがちですが
大丈夫です!(*´ω`*)

現在完了形は
「過去から現在までの継続」ですね!
過去の一点から今までずっと続いているイメージ!


I have played tennis since my father gave me a tennis racket.
私は、父がテニスラケットをくれてから(ずっと)テニスをしています。

この場合は、テニスラケットを貰った時
(過去の一点)から
現在 までの継続です。
どちらかといえば、過去形よりも
現在形に近いです。

(playは動作動詞なので、完了進行形にすることの方が多いですが…)

分かりづらかったらごめんなさい!

では、
The sun has sunk below the horizon.
についてです。

太陽が、過去からだんだん沈んできました
今はどうでしょうか?
太陽は、過去から沈み続け、今も沈んだ状態です。
過去から

過去から今への継続
というイメージなので現在完了形です。
現在完了形=継続
と覚えておきましょう!

4K←覚えなくて大丈夫です
でいえば完了・結果になります!

過去形だと、
以前、太陽が沈んだことを話している
(今は昇っている)
ということになってしまいます!

ごちゃごちゃしてすみません…
何か質問があれば聞いてください* ¨̮ *

この回答にコメントする

過去形と現在完了形の違いがずっとわかりません。⇒ 例文でその違いを説明しましょう。

過去形:The sun sank(過去形) below the horizon. 太陽が地平線の下に沈んだ。<現在の状態とは無関係>
現在完了形:The sun has sunk(現在完了形) below the horizon.  ※現在完了:完了・結果
太陽が地平線の下に沈んでしまった。そして、辺りは段々と暗くなってきている。<現在の状態との関係がある>

【覚え方】現在完了:「4K」を表す
①完了(今終わった) 
②結果(今終わった結果…な状態になっている) 
③経験(今までに~した経験がある) 
④継続(今までずっと~している。そして今も続いている)

参考にしてください。

この回答にコメントする

基本時制の選択のやり方は、普通、
「過去を表す語句があれば、過去で
それがなければ、現在」というルールに従います。

過去○○形を使いたいのであれば過去を表す語句も書かなければいけません。

本問では、
太陽が沈んだのが、いつなのか分からないので、過去を表す語句を書かないようにしたいので、時制は「現在」完了形です。

以上がhasを用いる理由だと思います。

この回答にコメントする
疑問は解決しましたか?