NAME

DateTime::TimeZone::Local::Unix - Determine the local system's time zone on Unix

SYNOPSIS

  my $tz = DateTime::TimeZone->new( name => 'local' );

  my $tz = DateTime::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 to determine the time zone name.

If reading the symlink fails for some reason, or if this file is not a symlink, it looks for a file that matches this file in /usr/share/zoneinfo. If it finds one, it uses that file's path to determine the time zone name.

* /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.