öncelikle şunu söyleyeyim. present perfect kalıbını kavramak biraz zaman alır. ilk kes karşılaşan herkesi afallatabilir. ama zamanla göre göre oturur ve sorun kalmaz. olaya çok karışık ve anlaşılmaz gibi bakmamalısın.
present perfect henüz tamamlanmış veya tamamlanmak üzere olan ve etkisi devam eden işler/durumlar için kullanılır genel anlamda.
"i finished my work yesterday" dediğinde, işin geçen gün kesin olarak bittiğini ve üzerinden belli bir zaman geçtiğini söylemiş olursun.
"i have finished my work" dediğinde henüz işini bitirdin olur.
mesela
"tom has lost his key" yani tom yakınlarda anahtarını kaybetmiş. ve etkisi hala devam ediyor. hala bulamadı. anahtarı bulduğunda "tom lost his key yesterday" deriz. yani dün kaybetmişti ama buldu. artık konu kapandı.
illa zaman belirtmeyecek diye birşey yok. belirtedebilir.
"Have you seen the paper today?" adam bugün bir ara kağıtları görmüş olabilir. ama sabah işe geldiğinde mi yarım saat evvel mi, öğlen tatiline doğru mu, bilmiyor soruyu soran. ama bugün, şu sıralar görmüş olabilir. henüz olay sıcak.
present perfect,
şimdiki anı esas alarak, henüz bitmiş işler ya da etkisi devam eden işler için, dedik.
past perfect ise
artık geçmişte kalan bir anı esas alarak o an henüz bitmişti veya o an henüz etkisi devam ediyordu, anlamını karşılamak için kullanılır.
tavsiyem evvela türkçe anlatan kaynaklardan bakman. google aracılığıyla bir sürü bulursun, var. ilk türkçe anlatımıyla gir. onu kavrar gibi olunca (ki bol bol örnek cümle görerek çabucak kavrarsın) bu sefer de ingilizce kaynaklardan konu anlatımına bak. tabi yine bol bol örnek cümle görerek.