The typical NHL game is somewhat shorter than in prior years as a result of certain rule changes that have been implemented. The following is from the NHL's own site:
With the addition of the tag-up rule, history suggests that our games will be quicker. When the League first introduced the tag-up rule in 1986-87, the average length of our games dropped by seven minutes from two hours and 36 minutes in 1985-86 to two hours and 29 minutes in 1986-87. Our average length of game in 2003-04 was two hours and 19 minutes. So we do not expect games to run longer.
The following page has other information about NHL games as well.
A game that is tied at the end of regulation play will be longer. There is no intermission at the end of regulation. There is a 5-minute maximum (on the play clock) overtime period. If neither team scores a goal then there is a shoot-out (for exhibition and regular season games only). So that could add another 15-20 minutes to the event length.
Getting out of the parking lot will take some time too!
For NHL PLAYOFF games, if the score is tied after regulation, there IS an intermission. The teams then play normal 20-minute (on the play clock) periods, with intermissions, until someone scores. Two, three and four-overtime games have been played!
If there is a special player dedication or jersey retirement, the game won't start on time. When Luc Robitaille's jersey was retired the game didn't start until 8:30 pm (instead of the normal starting time of 7:30 pm). Same for a fan appreciation night - the game will start late.
If the event is a non-playoff game, unless you leave early, you will be out by 9:45 or 10:00 pm.