NAME
    Time::Object - Object Oriented time objects

SYNOPSIS
        use Time::Object;
        
        my $t = localtime;
        print "Time is $t\n";
        print "Year is ", $t->year, "\n";

DESCRIPTION
    This module replaces the standard localtime and gmtime functions with
    implementations that return objects. It does so in a backwards
    compatible manner, so that using localtime/gmtime in the way documented
    in perlfunc will still return what you expect.

    The module actually implements most of an interface described by Larry
    Wall on the perl5-porters mailing list here:
    http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2000-
    01/msg00241.html

USAGE
    After importing this module, when you use localtime or gmtime in a
    scalar context, rather than getting an ordinary scalar string
    representing the date and time, you get a Time::Object object, whose
    stringification happens to produce the same effect as the localtime and
    gmtime functions. The following methods are available on the object:

        $t->sec
        $t->min
        $t->hour
        $t->mday
        $t->mon             # based at 1
        $t->_mon            # based at 0
        $t->monname         # February (uses POSIX::strftime)
        $t->year            # based at 0 (year 0 AD is, of course 1 BC).
        $t->_year           # year minus 1900
        $t->yr              # 2 digit year
        $t->wday            # based at 1 (Sunday)
        $t->_wday           # based at 0 (Also Sunday!)
        $t->wdayname        # Tuesday (uses POSIX::strftime)
        $t->yday
        $t->isdst
        $t->hms             # 01:23:45
        $t->ymd             # 2000/02/29
        $t->mdy             # 02/29/2000
        $t->dmy             # 29/02/2000
        $t->date            # Tue Feb 29 01:23:45 2000
        "$t"                # same as $t->date
        $t->epoch           # seconds since the epoch
        $t->tzoffset        # timezone offset in hours

  Date Calculations

    It's possible to use simple addition and subtraction of objects:

        use Time::Seconds;
            
            my $seconds = $t1 - $t2;
            $t1 += ONE_DAY; # add 1 day (constant from Time::Seconds)

    The following are valid ($t1 and $t2 are Time::Object objects):

            $t1 - $t2; # returns Time::Seconds object
            $t1 - 42; # returns Time::Object object
            $t1 + 533; # returns Time::Object object

    However adding a Time::Object object to another Time::Object object will
    cause a runtime error.

    Note that the first of the above returns a Time::Seconds object, so
    while examining the object will print the number of seconds (because of
    the overloading), you can also get the number of minutes, hours, days,
    weeks and years in that delta, using the Time::Seconds API.

  Date Comparisons

    Date comparisons are also possible, using the full suite of "<", ">",
    "<=", ">=", "<=>", "==" and "!=".

  Global Overriding

    Finally, it's possible to override localtime and gmtime everywhere, by
    including the 'overrideGlobally' tag in the import list:

            use Time::Object 'overrideGlobally';

    I'm not too keen on this name yet - suggestions welcome...

AUTHOR
    Matt Sergeant, matt@sergeant.org

  License

    This module is free software, you may distribute it under the same terms
    as Perl.

  Bugs

    The test harness leaves much to be desired. Patches welcome.

