NAME

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

VERSION

Version 0.01

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.