The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

slackget10::Date - A class to manage date for slack-get.

VERSION

Version 1.0.0

SYNOPSIS

This class is an abstraction of a date. It centralyze all operation you can do on a date (like comparisons)

    use slackget10::Date;

    my $date = slackget10::Date->new('day-name' => Mon, 'day-number' => 5, 'year' => 2005);
    $date->year ;
    my $status = $date->compare($another_date_object);
    if($date->is_equal($another_date_object))
    {
        print "Nothing to do : date are the same\n";
    }

CONSTRUCTOR

The constructor new() take the followings arguments :

        day-name => the day name in : Mon, Tue, Wed, Thu, Fri, Sat, Sun
        day-number => the day number from 1 to 31. WARNINGS : there is no verification about the date validity !
        month-name  => the month name (Jan, Feb, Apr, etc.)
        month-number => the month number (1 to 12)
        hour => the hour ( a string like : 12:52:00). The separator MUST BE ':'
        year => a chicken name...no it's a joke the year (ex: 2005).
        use-approximation => in this case the comparisons method just compare the followings : day, month and year. (default: no)

You have to manage by yourself the date validity, because this class doesn't check the date validity. The main reason of this, is that this class is use to compare the date of specials files.

So I use the predicate that peoples which make thoses files don't try to do a joke by a false date.

        my $date = slackget10::Date->new(
                'day-name' => Mon, 
                'day-number' => 5, 
                'year' => 2005,
                'month-number' => 2,
                'hour' => '12:02:35',
                'use-approximation' => undef
        );

FUNCTIONS

compare

This mathod compare the current date object with a date object passed as parameter.

        my $status = $date->compare($another_date);

The returned status is :

        0 : $another_date is equal to $date
        1 : $date is greater than $another_date
        2 : $date is lesser than $another_date

is_equal

Take another date object as parameter and return TRYUE (1) if this two date object are equal (if compare() return 0), and else return false (0).

        if($date->is_equal($another_date)){
                ...do smoething...
        }

WARNING : this method also return undef if $another_date is not a slackget10::Date object, so be carefull.

_fill_undef [PRIVATE]

This method is call by the constructor to resolve the month equivalence (name/number).

This method affect 0 to all undefined numerical values.

to_XML

return the date as an XML encoded string.

        $xml = $date->to_XML();

ACCESSORS

year

return the year

        my $string = $date->year;

monthname

return the monthname

        my $string = $date->monthname;

dayname

return the 'day-name'

        my $string = $date->'day-name';

hour

return the hour

        my $string = $date->hour;

daynumber

return the daynumber

        my $string = $date->daynumber;

monthnumber

return the monthnumber

        my $string = $date->monthnumber;

AUTHOR

DUPUIS Arnaud, <a.dupuis@infinityperl.org>

BUGS

Please report any bugs or feature requests to bug-slackget10-networking@rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=slackget10. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2005 DUPUIS Arnaud, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.