GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
DateTime::TimeZone::Local::Unix(3) User Contributed Perl Documentation DateTime::TimeZone::Local::Unix(3)

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

version 2.52

  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:
  • $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.

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) 2022 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.

2022-03-17 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.