App-CalId
view release on metacpan or search on metacpan
lib/App/CalId.pm view on Meta::CPAN
my @lines;
my $tz = $args{time_zone} // $ENV{TZ} // "UTC";
my $dt = DateTime->new(year=>$y, month=>$m, day=>1, time_zone=>$tz);
my $dtl = DateTime->last_day_of_month(year=>$y, month=>$m, time_zone=>$tz);
my $dt_today = DateTime->today(time_zone=>$tz);
my $hol = list_id_holidays(
detail => 1, year => $y, month => $m,
(is_joint_leave => 0) x !$args{show_joint_leave},
)->[2];
# XXX use locale
if ($args{show_year_in_title} // 1) {
push @lines, _center(21, sprintf("%s %d", $month_names->[$m-1], $y));
} else {
push @lines, _center(21, sprintf("%s", $month_names->[$m-1]));
}
push @lines, "Sn Sl Rb Km Jm Sb Mg"; # XXX use locale (but TBH locale's versions suck: Se Se Ra Ka Ju Sa Mi)
my $dow = $dt->day_of_week;
$dt->subtract(days => $dow-1);
for my $i (1..$dow-1) {
push @lines, "" if $i == 1;
if ($args{show_prev_month_days} // 1) {
$lines[-1] .= colored(sprintf("%2d ", $dt->day), "bright_black");
} else {
$lines[-1] .= " ";
}
( run in 0.598 second using v1.01-cache-2.11-cpan-ceb78f64989 )