Home automation - Time calculations based on local sunrise/suset times?

Wondering how to approach this. I have a Uno I'm using for home automation.
I have an Ethernet shield and have Internet access.
I have code to read the time from an NTP server which is working fine which gives me Unix and UTC time. (Would be interested in suggestions for other NTP code.)

What I would like to know is how folks determine local sunrise/sunset times for use is sketches.

And I should ask if there's code to adjust of daylight savings time.

Thanks

Here is an elegant Arduino program (pdf doc) to accurately calculate the sun elevation and azimuth at any time, at any location.

Sun rise and set can be defined as the time at which the sun elevation is zero or slightly negative.

Many places in the world do not use daylight savings time and the adjustment dates are not standardized.