ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/staticperl/perl/lib/Time/gmtime.pm
Revision: 1.1
Committed: Thu Jun 30 14:27:17 2005 UTC (21 years, 4 months ago) by root
Branch: MAIN
CVS Tags: PERL-5-8-7, HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 package Time::gmtime;
2     use strict;
3     use 5.006_001;
4    
5     use Time::tm;
6    
7     our(@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION);
8     BEGIN {
9     use Exporter ();
10     @ISA = qw(Exporter Time::tm);
11     @EXPORT = qw(gmtime gmctime);
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 ] );
18     $VERSION = 1.02;
19     }
20     use vars @EXPORT_OK;
21    
22     sub 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    
33     sub gmtime (;$) { populate CORE::gmtime(@_ ? shift : time)}
34     sub gmctime (;$) { scalar CORE::gmtime(@_ ? shift : time)}
35    
36     1;
37     __END__
38    
39     =head1 NAME
40    
41     Time::gmtime - by-name interface to Perl's built-in gmtime() function
42    
43     =head1 SYNOPSIS
44    
45     use Time::gmtime;
46     $gm = gmtime();
47     printf "The day in Greenwich is %s\n",
48     (qw(Sun Mon Tue Wed Thu Fri Sat Sun))[ gm->wday() ];
49    
50     use Time::gmtime w(:FIELDS;
51     printf "The day in Greenwich is %s\n",
52     (qw(Sun Mon Tue Wed Thu Fri Sat Sun))[ gm_wday() ];
53    
54     $now = gmctime();
55    
56     use Time::gmtime;
57     use File::stat;
58     $date_string = gmctime(stat($file)->mtime);
59    
60     =head1 DESCRIPTION
61    
62     This module's default exports override the core gmtime() function,
63     replacing it with a version that returns "Time::tm" objects.
64     This object has methods that return the similarly named structure field
65     name from the C's tm structure from F<time.h>; namely sec, min, hour,
66     mday, mon, year, wday, yday, and isdst.
67    
68     You may also import all the structure fields directly into your namespace
69     as regular variables using the :FIELDS import tag. (Note that this
70     still overrides your core functions.) Access these fields as variables
71     named with a preceding C<tm_> in front their method names. Thus,
72     C<$tm_obj-E<gt>mday()> corresponds to $tm_mday if you import the fields.
73    
74     The gmctime() function provides a way of getting at the
75     scalar sense of the original CORE::gmtime() function.
76    
77     To access this functionality without the core overrides,
78     pass the C<use> an empty import list, and then access
79     function functions with their full qualified names.
80     On the other hand, the built-ins are still available
81     via the C<CORE::> pseudo-package.
82    
83     =head1 NOTE
84    
85     While this class is currently implemented using the Class::Struct
86     module to build a struct-like class, you shouldn't rely upon this.
87    
88     =head1 AUTHOR
89    
90     Tom Christiansen