Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DateTime::TimeZone::LoUser:Contributed Perl DateTime::TimeZone::Local::Unix(3)

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

VERSION
       version 2.47

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:

       o   $ENV{TZ}

	   It checks $ENV{TZ} for a valid time zone name.

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

       o   /etc/timezone

	   If this file	exists,	it is read and its contents are	used as	a time
	   zone	name.

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

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

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

SUPPORT
       Bugs may	be submitted at
       <https://github.com/houseabsolute/DateTime-TimeZone/issues>.

       I am also usually active	on IRC as 'autarch' on "irc://irc.perl.org".

SOURCE
       The source code repository for DateTime-TimeZone	can be found at
       <https://github.com/houseabsolute/DateTime-TimeZone>.

AUTHOR
       Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE
       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.

perl v5.32.1			  2021-01-24DateTime::TimeZone::Local::Unix(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | HOW THE TIME ZONE IS DETERMINED | SUPPORT | SOURCE | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=DateTime::TimeZone::Local::Unix&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help