RE: Untested libraries update
[p5sagit/p5-mst-13.2.git] / lib / Time / localtime.pm
CommitLineData
36477c24 1package Time::localtime;
2use strict;
3b825e41 3use 5.006_001;
4
36477c24 5use Time::tm;
6
17f410f9 7our(@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION);
8BEGIN {
36477c24 9 use Exporter ();
36477c24 10 @ISA = qw(Exporter Time::tm);
11 @EXPORT = qw(localtime ctime);
12 @EXPORT_OK = qw(
13 $tm_sec $tm_min $tm_hour $tm_mday
14 $tm_mon $tm_year $tm_wday $tm_yday
15 $tm_isdst
16 );
17 %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
b0cb64b6 18 $VERSION = 1.02;
36477c24 19}
20use vars @EXPORT_OK;
21
22sub populate (@) {
23 return unless @_;
24 my $tmob = Time::tm->new();
25 @$tmob = (
26 $tm_sec, $tm_min, $tm_hour, $tm_mday,
27 $tm_mon, $tm_year, $tm_wday, $tm_yday,
28 $tm_isdst )
29 = @_;
30 return $tmob;
31}
32
03136e13 33sub localtime (;$) { populate CORE::localtime(@_ ? shift : time)}
34sub ctime (;$) { scalar CORE::localtime(@_ ? shift : time) }
36477c24 35
361;
37
38__END__
39
40=head1 NAME
41
2ae324a7 42Time::localtime - by-name interface to Perl's built-in localtime() function
36477c24 43
44=head1 SYNOPSIS
45
46 use Time::localtime;
47 printf "Year is %d\n", localtime->year() + 1900;
48
49 $now = ctime();
50
51 use Time::localtime;
52 use File::stat;
53 $date_string = ctime(stat($file)->mtime);
54
55=head1 DESCRIPTION
56
57This module's default exports override the core localtime() function,
58replacing it with a version that returns "Time::tm" objects.
59This object has methods that return the similarly named structure field
60name from the C's tm structure from F<time.h>; namely sec, min, hour,
61mday, mon, year, wday, yday, and isdst.
62
63You may also import all the structure fields directly into your namespace
64as regular variables using the :FIELDS import tag. (Note that this still
65overrides your core functions.) Access these fields as
66variables named with a preceding C<tm_> in front their method names.
67Thus, C<$tm_obj-E<gt>mday()> corresponds to $tm_mday if you import
68the fields.
69
ae83f377 70The ctime() function provides a way of getting at the
36477c24 71scalar sense of the original CORE::localtime() function.
72
73To access this functionality without the core overrides,
74pass the C<use> an empty import list, and then access
75function functions with their full qualified names.
76On the other hand, the built-ins are still available
77via the C<CORE::> pseudo-package.
78
79=head1 NOTE
80
8cc95fdb 81While this class is currently implemented using the Class::Struct
36477c24 82module to build a struct-like class, you shouldn't rely upon this.
83
84=head1 AUTHOR
85
86Tom Christiansen