This page offers probably the most accurate means of calculating dawn and noon available, since it bases its calculations on actual solar position, using the socalled "equation of time", the date, the latitude and longitude, and both the time zone and daylightsavings time offsets. The only factor it doesn't take into account is altitude (which apparently would set the calculation off by approximately 1 minute per 1,500m above sea level). Otherwise, it appears able to calculate dawn and midday for any day of any year at any point on the globe. Midday is defined as the second when the sun crosses the meridian of the observer's location. Dawn is defined as perceived sunrise (i.e. the edge of the sun becomes visible on the horizon). This latter definition may seem rather arbitrary but, well, that's life.
To use the tool, you can either click a point on the map or type in a location in the search box and hit the "Enter" key. Default is to calculate based on today, but you can specify a date in the boxes at the bottom. There is also a "Calculate Year" button, which is probably the most useful part, since it lets you take the information for the whole year away and actually put it to use.
Solar calculations are taken from this page. The Google map functions are based in part on this page and the rest comes from Google itself. Time zone information for given lat/long is obtained via PHP/JSON from this site. XMLHTTPRequest compatibility comes from this project. The rest, as far as possible, is released into the public domain. Thanks to Bhante Anandajoti for the idea. Feedback may be given via this page.
