NAME
DateTimeX::Lite::TimeZone::Local::Unix - Determine the local system's time zone on Unix
SYNOPSIS
my $tz = DateTimeX::Lite::TimeZone->new( name => 'local' );
my $tz = DateTimeX::Lite::TimeZone::Local->TimeZone();
DESCRIPTION
This module provides methods for determining the local time zone on a Unix platform.
HOW THE TIME ZONE IS DETERMINED
This class tries the following methods of determining the local time zone:
$ENV{TZ}
It checks
$ENV{TZ}
for a valid time zone name./etc/localtime
If this file is a symlink to an Olson database time zone file (usually in /usr/share/zoneinfo) then it uses the target file's path name to determine the time zone name. For example, if the path is /usr/share/zoneinfo/America/Chicago, the time zone is "America/Chicago".
Some systems just copy the relevant file to /etc/localtime instead of making a symlink. In this case, we look in /usr/share/zoneinfo for a file that has the same size and content as /etc/localtime to determine the local time zone.
/etc/timezone
If this file exists, it is read and its contents are used as a time zone name.
/etc/TIMEZONE
If this file exists, it is opened and we look for a line starting like "TZ = ...". If this is found, it should indicate a time zone name.
/etc/sysconfig/clock
If this file exists, it is opened and we look for a line starting like "TIMEZONE = ..." or "ZONE = ...". If this is found, it should indicate a time zone name.
/etc/default/init
If this file exists, it is opened and we look for a line starting like "TZ=...". If this is found, it should indicate a time zone name.
AUTHOR
Dave Rolsky, <autarch@urth.org>
COPYRIGHT & LICENSE
Copyright (c) 2003-2008 David Rolsky. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.