It's a somewhat little-known fact that days are not actually all 24 hours long. Through the year, day lengths vary by up to 30 minutes. Sundials recognize that fact, as they tell time by the Sun, but our watches show a constant 24-hour day -- so checking your watch against a very precise sundial will usually show a difference between the two times. (Daylight savings time and the fact that solar time isn't really constant throughout the span of a time zone are other reasons.) Over the year, day lengths average out to 24 hours/day, which is why most of us haven't noticed the sundial-to-clock disconnection.
But how to get a handle on that difference? Well, first, before we start talking about differences in time displayed and in day lengths, we've got to define what a day is. A day is the period of time between two noons. Noon, in turn, is defined as the point when the sun is at its highest point in the sky -- which is when it crosses an imaginary line from the north pole to your position to the south pole called the celestial meridian. (Okay, it's not a line, it's a great circle, but you know what I mean.)
If each day were 24 hours long, then the Sun would cross the meridian at the same time that your watch (when properly adjusted for daylights savings time and local difference from your time zone) said noon, and a local sundial would say that it's noon. But there's a minor difference, which can be computed by "the Equation of Time." This page will compute the differences between local time as shown on a sundial and your actual local time. Your location on Earth does not matter, but the page's formulas are only usable between the years 1950 and 2050.