=head1 NAME POSIX::1003::Time - POSIX handling time =head1 INHERITANCE POSIX::1003::Time is a POSIX::1003 =head1 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); =head1 METHODS =over 4 =item POSIX::1003::Time-EB(NAME) See L =back =head1 FUNCTIONS =head2 Standard POSIX B the functions L, L, and L share a weird complex encoding with L and L: the month (C), weekday (C), and yearday (C) begin at zero. I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The year (C) is given in years since 1900. I.e., the year 1995 is 95; the year 2001 is 101. =over 4 =item B(SEC, MIN, HOUR, MDAY, MON, YEAR, ...) The C function uses C 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 L without the C<$fmt>: my $str = asctime($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst); =item B() The amount of spent processor time in microseconds. =item B(TIMESTAMP) # equivalent my $str = ctime $timestamp; my $str = asctime localtime $timestamp; =item B(TIMESTAMP, TIMESTAMP) Difference between two TIMESTAMPs, which are floats. $timespan = difftime($end, $begin); =item B([TIME]) Simply L =item B([TIME]) Simply L =item B(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); =item B(FMT, SEC, MIN, HOUR, MDAY, MON, YEAR, ...) The formatting of C 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 C. But even then, the results of some of the conversion specifiers are non-portable. =item B() Returns the strings to be used to represent Standard time (STD) respectively Daylight Savings Time (DST). tzset(); my ($std, $dst) = tzname; =item B() Set-up local timezone from C<$ENV{TZ}> and the OS. =back =head1 CONSTANTS =head2 Constants from time.h CLK_TCK CLOCKS_PER_SEC NULL =head2 Constants from limits.h TXNAME_MAX =head1 SEE ALSO This module is part of POSIX-1003 distribution version 0.13, built on July 26, 2012. Website: F. The code is based on L, which is released with Perl itself. See also M for additional functionality. =head1 COPYRIGHTS Copyrights of the perl code and the related documentation by 2011-2012 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 F