# NSTimeZone class reference

wacko@laplace.snu.ac.kr
rfm@gnu.org
1997-20 11Free Software Foundation, Inc.
Software documentation for the NSTimeZone class
Foundation/NSTimeZone.h

The local time zone is obtained from, in order of preference:
1) the user defaults database: NSGlobalDomain "Local Time Zone"
2) the GNUSTEP_TZ environment variable
3) the file "localtime" in System/Library/Libraries/Resources/NSTimeZone
4) the TZ environment variable
5) The system zone settings (typically in /etc/localtime)
6) tzset and tznam on platforms which have it
7) Windows registry, on Win32 systems
8) or the fallback time zone (which is UTC)

If the GNUstep time zone datafiles become too out of date, one can download an updated database from ftp://elsie.nci.nih.gov/pub/ and compile it as specified in the README file in the NSTimeZones directory.

Time zone names in NSDates should be GMT, MET etc. not Europe/Berlin, America/Washington etc.

The problem with this is that various time zones may use the same abbreviation (e.g. Australia/Brisbane and America/New_York both use EST), and some time zones may have different rules for daylight saving time even if the abbreviation and offsets from UTC are the same.

The problems with depending on the OS for providing time zone info are that time zone names may vary wildly between OSes (this could be a big problem when archiving is used between different systems).

Win32: Time zone names read from the registry are different from other GNUstep installations. Be careful when moving data between platforms in this case.

abbreviationDictionary
Returns a dictionary containing time zone abbreviations and their corresponding time zone names. More than one time zone may be associated with a single abbreviation. In this case, the dictionary contains only one (usually the most common) time zone name for the abbreviation.
abbreviationMap
Returns a dictionary that maps abbreviations to the array containing all the time zone names that use the abbreviation.
defaultTimeZone
Return the default time zone for this process.
knownTimeZoneNames
Returns an array of all known time zone names.
localTimeZone
Return a proxy to the default time zone for this process.
resetSystemTimeZone
Destroy the system time zone so that it will be recreated next time it is used.
setDefaultTimeZone:
aTimeZone
Set the default time zone to be used for this process.
systemTimeZone
Returns the current system time zone for the process.
timeZoneArray
Returns an array of all the known regions.
There are 24 elements, of course, one for each time zone. Each element contains an array of NSStrings which are the region names.
timeZoneForSecondsFromGMT:
seconds
Return a timezone for the specified offset from GMT.
The timezone returned does not use daylight savings time. The actual timezone returned has an offset rounded to the nearest minute.
Time zones with an offset of more than +/- 18 hours are disallowed, and `nil` is returned.
timeZoneWithAbbreviation:
abbreviation
Returns a timezone for the specified abbreviation. The same abbreviations are used in different regions so this isn't particularly useful.
Calls NSTimeZone-abbreviation dictionary an so uses a lot of memory.
timeZoneWithName:
aTimeZoneName
Returns a timezone for the specified name.
timeZoneWithName:
name
data:
data
Returns a timezone for aTimeZoneName, created from the supplied time zone data. Data must be in TZ format as per the Olson database.
abbreviation
Returns the abbreviation for this timezone now. Invokes -abbreviationForDate:
abbreviationForDate:
aDate
Returns the abbreviation for this timezone at aDate. This may differ depending on whether daylight savings time is in effect or not.
data
Returns the data with which the receiver was initialised.
daylightSavingTimeOffset
Description forthcoming.
daylightSavingTimeOffsetForDate:
aDate
Description forthcoming.
initWithName:
name
Initialise a timezone with the supplied name. May return a cached timezone object rather than the newly created one.
initWithName:
name
data:
data
Initialises a time zone object using the supplied data object.
This method is intended for internal use by the NSTimeZone class cluster. Don't use it... use -initWithName: instead.
isDaylightSavingTime
Returns a boolean indicating whether daylight savings time is in effect now. Invokes -isDaylightSavingTimeForDate:
isDaylightSavingTimeForDate:
aDate
Returns a boolean indicating whether daylight savings time is in effect for this time zone at aDate.
isEqualToTimeZone:
aTimeZone
Returns `YES` if the time zones have the same name.
localizedName:
style
locale:
locale
Description forthcoming.
name
Returns the name of the timezone
nextDaylightSavingTimeTransition
Description forthcoming.
nextDaylightSavingTimeTransitionAfterDate:
aDate
Description forthcoming.
secondsFromGMT
Returns the number of seconds by which the receiver differs from Greenwich Mean Time at the current date and time.
Invokes -secondsFromGMTForDate:
secondsFromGMTForDate:
aDate
Returns the number of seconds by which the receiver differs from Greenwich Mean Time at the date aDate.
If the time zone uses daylight savings time, the returned value will vary at different times of year.
timeZoneDetailArray
DEPRECATED: see NSTimeZoneDetail
timeZoneDetailForDate:
date
DEPRECATED: see NSTimeZoneDetail
timeZoneName
Returns the name of this timezone.
Software documentation for the NSTimeZoneDetail class
Foundation/NSTimeZone.h
This class serves no useful purpose in GNUstep other than to provide a backup mechanism for handling abbreviations where the precomputed data files cannot be found. It is provided primarily for backward compatibility with the OpenStep spec. It is missing entirely from MacOS-X.
isDaylightSavingTimeZone
DEPRECATED: Class is no longer used.
timeZoneAbbreviation
DEPRECATED: Class is no longer used.
timeZoneSecondsFromGMT
DEPRECATED: Class is no longer used.