Quick, what's the longest day of the year? (In the northern hemisphere.)
If you answered June 21 (today!), you're probably right. That's the date of the summer solstice, at least in most years and in most time zones. (You may have thought that the solstice was an entire day, but in fact it's just a moment in time, the moment when the sun is furthest north. The sun doesn't move, of course, at least not in the usual treatment of astronomy -- but the Earth moves around the sun, so sometimes its northern part is pointed more towards the sun and sometimes its southern part is.
But on what day does the sun rise the earliest? Or set the latest?
This is a trickier question. "Trickier", here, means "I don't remember the answer". But the U. S. Naval Observatory makes available a sun or moon rise/set table for one year. You can enter your location and it'll tell you when the sun rises and sets on each day in, say, 2007. The patterns don't change from year to year, because the Gregorian calendar is what we call a "solar calendar" and is pretty well correlated with the seasons. Its predecessor, the Julian calendar, didn't have this property -- it slipped relative to the seasons by a bit under a day per century. For more than you ever wanted to know about calendars, see Claus Tondering's calendar FAQ.
If I enter my location -- Philadelphia -- into the table, it tells me that the day the sun rises the earliest is any day between June 10 and June 18, when it rises at 5:31 am. Let's say that the actual earliest sunrise is in the middle of this period, June 14. Similarly, the latest sunset is on any day between June 26 and June 29; let's call it June 27. These are a week earlier and later than the solstice. On the winter side of things, the shortest day is December 20 (only nine hours and nineteen minutes - sunrise is at 7:19, sunset at 4:38), but the earliest sunset is around December 7 (4:35) and the latest sunrise is around January 5, 2008 (7:23).
What's the cause of this? It's a little something known as the equation of time, which basically says that the earth runs "fast" in some seasons and "slow" in others. In December it's running faster than in January, and in early June it's running faster than in late June.
I first really became aware of this phenomenon when I lived in Boston. In Boston winters, night comes very early -- it's not uncommon to see the pink and purple shades of sunset at around 3:30 on a December afternoon. The actual earliest sunset comes at 4:12 on the 8th of December; as you head further north the earliest sunset and latest sunrise both move towards December 21, because the "equation of time" becomes less significant with respect to the variation in day length. (In Miami, for example, they're November 29 and January 14; in Anchorage, they're December 15 and December 26.) You end up getting some strange asymmetries. You'd think that on dates equidistant from the winter solstice, you'd have the same time of sunset.
But you don't. In mid-November and late January, the sun sets in alignment with MIT's Infinite Corridor, which is a very long hallway running through the center of campus. In November it happens around November 12 (thirty-nine days before the winter solstice), at 4:20 pm; in January, it happens around January 29 (thirty-nine days after), at 4:50 pm. That actually helps in the Boston winters, believe it or not -- by the time it's getting really cold at least it feels like the sunlight is starting to come back. At least if you were someone like me who was never awake for sunrise.
Finally, in the summer the sun lines up with Manhattan streets at sunset, on May 28 and July 12. This is called "Manhattanhenge", and some people claim that the alignments are cosmic signs of Memorial Day and baseball's All-Star break. Of course, they're not; Manhattan just isn't aligned with the "north" that we usually call by that name. Most places with a regular grid of streets will have a day like this, although I haven't seen references to it happening in places other than Manhattan.