The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Date::Holidays::UA - Holidays module for Ukraine

VERSION

Version 0.02

SYNOPSIS

    # procedural approach

    use Date::Holidays::UA qw(:all);

    my ($year, $month, $day) = (localtime)[5, 4, 3];
    $year  += 1900;
    $month += 1;

    print 'Holiday!' if is_holiday($year, $month, $day);

    my $calendar = holidays($year, {language => 'en'});
    print $calendar->{'0824'};


    # object-oriented approach

    use DateTime;
    use Date::Holidays::UA;

    my $ua = Date::Holidays::UA->new({ language => 'en' });
    print 'Holiday!' if $ua->is_holiday_dt(DateTime->today);

    my $calendar = $ua->holidays(DateTime->today->year);
    print join("\n", value(%$calendar)); # list of holiday names for Ukraine

SUBROUTINES/METHODS

new()

Create a new Date::Holidays::UA object. Parameters should be given as a hashref of key-value pairs.

    my $ua = Date::Holidays::UA->new();

    my $ua = Date::Holidays::UA->new({
        language => 'en'
    });

One parameters can be specified: language.

is_holiday()

For a given year, month (1-12) and day (1-31), return 1 if the given day is a holiday; 0 if not. When using procedural calling style, an additional hashref of options can be specified.

    $holiday_p = is_holiday($year, $month, $day);

    $holiday_p = is_holiday($year, $month, $day, {
        language => 'en'
    });

    $holiday_p = $ua->is_holiday($year, $month, $day);

is_holiday_dt()

As is_holiday, but accepts a DateTime object in place of a numeric year, month, and day.

    $holiday_p = is_holiday_dt($dt, {language => 'en'});

    $holiday_p = $ua->is_holiday_dt($dt);

is_ua_holiday()

Similar to is_holiday. Return the name of the holiday occurring on the specified date if there is one; undef if there isn't.

    print $ua->is_ua_holiday(2020, 1, 1); # "New Year"

holidays()

For the given year, return a hashref containing all the holidays for that year. The keys are the date of the holiday in mmdd format (eg '1225' for December 25); the values are the holiday names.

    my $calendar = holidays($year, {language => 'en'});
    print $calendar->{'0824'}; # "Independence Day"

    my $calendar = $ua->holidays($year);
    print $calendar->{'0628'}; # "Constitution Day"

ua_holidays()

Same as holidays().

holidays_dt()

Similar to holidays(), The keys are the date of the holiday in mmdd format (eg '1225' for December 25); and DateTime objects as the values.

    my $calendar = $ua->holidays_dt($year);

AUTHOR

Denis Boyun, <denisboyun at gmail.com>

BUGS

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

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Date::Holidays::UA

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

This software is copyright (c) 2020 by Denis Boyun.

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