HTML-Make-Calendar
view release on metacpan or search on metacpan
examples/japanese.pl view on Meta::CPAN
#!/home/ben/software/install/bin/perl
use warnings;
use strict;
use utf8;
use HTML::Make::Calendar 'calendar';
use Date::Qreki 'rokuyou_unicode';
use Calendar::Japanese::Holiday;
use Lingua::JA::Numbers 'num2ja';
use Lingua::JA::FindDates 'seireki_to_nengo';
binmode STDOUT, ":encoding(utf8)";
my @daynames = (qw!æ ç« æ°´ æ¨ é å æ¥!);
my $calendar = calendar (daynames => \@daynames,
monthc => \&jmonth,
dayc => \&jday, first => 7);
print $calendar->text ();
exit;
sub jday
{
my (undef, $date, $element) = @_;
my @jdate = ($date->{year}, $date->{month}, $date->{dom});
my $name = isHoliday (@jdate);
my $rokuyou = rokuyou_unicode (@jdate);
$element->push ('span', text => num2ja ($date->{dom}));
$element->push ('br');
$element->push ('span', text => $rokuyou, attr => {class => 'rokuyou'});
if ($name) {
$element->push ('br');
$element->push ('b', text => $name);
$element->add_class ('holiday');
}
}
sub jmonth
{
my (undef, $date, $element) = @_;
my $month = $date->{month} . 'æ';
my $year = seireki_to_nengo ("$date->{year}å¹´");
my $ym = "$year$month";
$ym =~ s/([0-9]+)/num2ja($1)/ge;
$element->add_text ($ym);
}
( run in 0.877 second using v1.01-cache-2.11-cpan-39bf76dae61 )