According to the Duden (giving the standard of German
language for German speaking countries) the imperfect
is to be used if
1) an action that happened in a time before the
one the event is talked about,
2) has no influence on the present time.
regnete es und heute scheint die Sonne. = Yesterday it rained
and today the sun shines.
Actually the German rule (that nobody respects in
spoken language) is the same as for the English imperfect.
Only that in English language it has to be respected
otherwise it sounds weird. In German everyone just accepts
also the "wrong" version as right.
The rule for the present perfect according to the Duden
is that Perfekt is to be used if
1) an action that started in a time before the one
the event is talked about
2a) the action is finished and the result is still important
in the present time
2b) the end of the action is in the present or even
in the future
hat es geregnet, aber jetzt scheint die
Sonne. = Today it has rained,
but now the sun is shining.
And here again it is the same as in English, only that
the English use their rules and the Germans (against
all prejudices) don't stick to their own rules.
Even though sometimes if the example is well chosen
the difference might be noticed by a German:
habe mein Geld verloren. = I have lost my
Unfortunately the money is gone and I didn't get
it back yet. The result - that I don't have money -
is still important to me.
verlor mein Geld. = I lost my money.
The money is gone and maybe I got it back or not. Nobody
knows, but actually it is not that important anymore.
The thing I wanted to tell the other person was that
the event of losing my money happened in the past.