NAME

POSIX::1003::Time - POSIX handling time

INHERITANCE

POSIX::1003::Time
  is a POSIX::1003::Module

SYNOPSIS

use POSIX::1003::Time;

tzset();      # set-up local timezone from $ENV{TZ}
($std, $dst) = tzname;  # timezone abbreviations

$str = ctime($timestamp);   # is equivalent to:
$str = asctime(localtime($timestamp))

$str = strftime("%A, %B %d, %Y", 0, 0, 0, 12, 11, 95, 2);
# $str contains "Tuesday, December 12, 1995"

$timestamp = mktime(0, 30, 10, 12, 11, 95);
print "Date = ", ctime($timestamp);

print scalar localtime;
my $year   = (localtime)[5] + 1900;

$timespan  = difftime($end, $begin);

DESCRIPTION

See documentation in the base class.

METHODS

See documentation in the base class.

POSIX::1003::Time->exampleValue(NAME)

See "METHODS" in POSIX::1003::Module

$obj->import()

See "METHODS" in POSIX::1003::Module

FUNCTIONS

Standard POSIX

Warning: the functions asctime(), mktime(), and strftime() share a weird complex encoding with localtime() and gmtime(): the month (mon), weekday (wday), and yearday (yday) begin at zero. I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The year (year) is given in years since 1900. I.e., the year 1995 is 95; the year 2001 is 101.

asctime(SEC, MIN, HOUR, MDAY, MON, YEAR, ...)

The asctime function uses strftime with a fixed format, to produce timestamps with a trailing new-line. Example:

"Sun Sep 16 01:03:52 1973\n"

The parameter order is the same as for strftime() without the $fmt:

my $str = asctime($sec, $min, $hour, $mday, $mon, $year,
               $wday, $yday, $isdst);
clock()

The amount of spent processor time in microseconds.

ctime(TIMESTAMP)
# equivalent
my $str = ctime $timestamp;
my $str = asctime localtime $timestamp;
difftime(TIMESTAMP, TIMESTAMP)

Difference between two TIMESTAMPs, which are floats.

$timespan = difftime($end, $begin);
gmtime([TIME])

Simply "gmtime" in perlfunc

localtime([TIME])

Simply "localtime" in perlfunc

mktime(SEC, MIN, HOUR, MDAY, MON, YEAR, ...)

Convert date/time info to a calendar time. Returns "undef" on failure.

 my $t = mktime(sec, min, hour, mday, mon, year,
            wday = 0, yday = 0, isdst = -1)

# Calendar time for December 12, 1995, at 10:30 am
$timestamp = mktime(0, 30, 10, 12, 11, 95);
print "Date = ", ctime($time_t);
strftime(FMT, SEC, MIN, HOUR, MDAY, MON, YEAR, ...)

The formatting of strftime is extremely flexible but the parameters are quite tricky. Read carefully!

my $str = strftime($fmt, $sec, $min, $hour,
    $mday, $mon, $year, $wday, $yday, $isdst);

If you want your code to be portable, your format (FMT) argument should use only the conversion specifiers defined by the ANSI C standard (C89, to play safe). These are aAbBcdHIjmMpSUwWxXyYZ%. But even then, the results of some of the conversion specifiers are non-portable.

[0.95_5] This implementation of strftime() is character-set aware, even when the LC_TIME table does not match the type of the format string.

tzname()

Returns the strings to be used to represent Standard time (STD) respectively Daylight Savings Time (DST).

tzset();
my ($std, $dst) = tzname;
tzset()

Set-up local timezone from $ENV{TZ} and the OS.

CONSTANTS

Constants from time.h

CLK_TCK CLOCKS_PER_SEC NULL

Constants from limits.h

TXNAME_MAX

SEE ALSO

This module is part of POSIX-1003 distribution version 0.96, built on November 28, 2013. Website: http://perl.overmeer.net. The code is based on POSIX, which is released with Perl itself. See also POSIX::Util for additional functionality.

COPYRIGHTS

Copyrights 2011-2013 on the perl code and the related documentation by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html