Objective-C class to calculate Sunrise, Sunset, and Twilight times based on the user's current location and time zone.
EDSunriseSet
is an Objective-C wrapper for the C languages routines created by Paul Schlyter.
Calculation is done entirely by the C-code routines. EDSunrisetSet
bridges those calculations to common cocoa classes like NSDate
and NSTimeZone
.
- Calculates Sunrise and Sunset times
- Calculates Civil, Nautical, and Astronomical twilight
- Times are calculated based on the provided timezone, latitute, and longitude
Documentation
< 6AFF /div>API has changed in version 2.0. If you want the old version, go to 1.0.
In order to use the class, just use this initializer:
-(EDSunriseSet)initWithDate:(NSDate*)date timezone:(NSTimeZone*)timezone latitude:(double)latitude longitude:(double)longitude
or you can use the class convience method:
-(EDSunriseSet*)sunrisesetWithDate:(NSDate*)date timezone:(NSTimeZone*)timezone latitude:(double)latitude longitude:(double)longitude
This method returns an EDSunriseSet
object which can be used to access the following NSDateComponents
each containing a date, hour, minute, and second:
- The local sunrise time,
localSunrise
- The local sunset time,
localSunset
- The time when civil twilight (when the sun is 6 degrees below the horizon) begins and ends,
localCivilTwilightStart
andlocalCivilTwilightEnd
- The time when nautical twilight (when the sun is 12 degrees below the horizon) begins and ends,
localNauticalCivilTwilightStart
andlocalNauticalCivilTwilightEnd
- The time when astronomical twilight (when the sun is 18 degrees below the horizon) begins and ends,
localAstronomicalTwilightStart
andlocalAstronomicalTwilightEnd
You may also access NSDate
proprties on EDSunriseSet
which provides a read-only value of the date for the specified property. These properties include sunrise
and sunset
among others.
EDSunriseSet license is MIT based. Attribution is appreciated, but not required.