Timex.Timezone.Local
This module is responsible for determining the timezone configuration of the local machine. It determines this from a number of sources, depending on platform, but the order of precedence is as follows:
ALL:
- TZ environment variable. Ignored if nil/empty
OSX:
- /etc/localtime
- systemsetup -gettimezone (if admin rights are present)
UNIX:
- /etc/timezone
- /etc/sysconfig/clock
- /etc/conf.d/clock
- /etc/localtime
- /usr/local/etc/localtime
Windows:
- SYSTEM registry for the currently configured TimeZoneInformation
Each location is tried, and if an error is encountered, the next is attempted, until either a successful lookup is performed, or we run out of locations to check.
Summary↑
lookup() | Looks up the local timezone configuration. Returns the name of a timezone in the Olson database |
lookup(date) | |
parse_tzfile(tzdata) | Given a binary representing the data from a tzfile (not the source version), parses out the timezone for the provided reference date, or current UTC time if one wasn’t provided |
parse_tzfile(tzdata, reference_date) |
Functions
Looks up the local timezone configuration. Returns the name of a timezone in the Olson database.
Specs:
- lookup(Timex.DateTime.t | nil) :: String.t
Given a binary representing the data from a tzfile (not the source version), parses out the timezone for the provided reference date, or current UTC time if one wasn’t provided.
Specs:
- parse_tzfile(binary, Timex.DateTime.t | nil) :: {:ok, String.t} | {:error, term}