DateTime::TimeZone::Local::Unix - Determine the local system's time zone on Unix
version 2.51
my $tz = DateTime::TimeZone->new( name => 'local' );
my $tz = DateTime::TimeZone::Local->TimeZone();
This module provides methods for determining the local time zone on a
Unix platform.
This class tries the following methods of determining the local time
zone:
Note: Some systems such as virtual machine boxes may lack any of these
files. You can confirm that this is case by running:
$ ls -l /etc/localtime /etc/timezone /etc/TIMEZONE \
/etc/sysconfig/clock /etc/default/init
If this is the case, then when checking for timezone handling you are
likely to get an exception:
$ perl -wle 'use DateTime; DateTime->now( time_zone => "local" )'
Cannot determine local time zone
In that case, you should consult your system man pages for details on how
to address that problem. In one such case reported to us, a FreeBSD virtual
machine had been built without any of these files. The user was able to run
the FreeBSD tzsetup utility. That installed /etc/localtime, after which
the above timezone diagnostic ran silently, i.e., without throwing an
exception.
Bugs may be submitted at https://github.com/houseabsolute/DateTime-TimeZone/issues.
The source code repository for DateTime-TimeZone can be found at https://github.com/houseabsolute/DateTime-TimeZone.
Dave Rolsky <autarch@urth.org>
This software is copyright (c) 2021 by Dave Rolsky.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
The full text of the license can be found in the
LICENSE file included with this distribution.
|