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, 
                          and  
                          2) has no influence on the present time. 
                        
                          
                            
                                
                                    | 
                                  Gestern
                                      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 
                          and 
                          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 
                        
                          
                            
                                
                                    | 
                                  Heute
                                      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: 
                        
                          
                            
                                
                                    | 
                                  Ich
                                      habe mein Geld verloren. 
                                    = I have lost my
                                    money.  | 
                                   
                                   | 
                                 
                              | 
                           
                         
                         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. 
                        
                          
                            
                                
                                    | 
                                  Ich
                                      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.  
                            
                         |