50 lines
1.4 KiB
Perl
50 lines
1.4 KiB
Perl
|
|
##
|
|||
|
|
## Russian tables
|
|||
|
|
##
|
|||
|
|
## Contributed by Danil Pismenny <dapi@mail.ru>
|
|||
|
|
|
|||
|
|
package Date::Language::Russian;
|
|||
|
|
|
|||
|
|
use vars qw(@ISA @DoW @DoWs @MoY @MoYs @MoY2 @AMPM %MoY %DoW $VERSION);
|
|||
|
|
@ISA = qw(Date::Language Date::Format::Generic);
|
|||
|
|
$VERSION = "1.01";
|
|||
|
|
|
|||
|
|
@MoY = qw(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
|
|||
|
|
@MoY2 = qw(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
|
|||
|
|
@MoYs = qw(<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>);
|
|||
|
|
|
|||
|
|
@DoW = qw(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
|
|||
|
|
@DoWs = qw(<EFBFBD><EFBFBD> <20><> <20><> <20><> <20><> <20><> <20><>);
|
|||
|
|
@DoWs2 = qw(<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>);
|
|||
|
|
|
|||
|
|
@AMPM = qw(<EFBFBD><EFBFBD> <20><>);
|
|||
|
|
|
|||
|
|
@MoY{@MoY} = (0 .. scalar(@MoY));
|
|||
|
|
@MoY{@MoYs} = (0 .. scalar(@MoYs));
|
|||
|
|
@DoW{@DoW} = (0 .. scalar(@DoW));
|
|||
|
|
@DoW{@DoWs} = (0 .. scalar(@DoWs));
|
|||
|
|
|
|||
|
|
# Formatting routines
|
|||
|
|
|
|||
|
|
sub format_a { $DoWs[$_[0]->[6]] }
|
|||
|
|
sub format_A { $DoW[$_[0]->[6]] }
|
|||
|
|
sub format_b { $MoYs[$_[0]->[4]] }
|
|||
|
|
sub format_B { $MoY[$_[0]->[4]] }
|
|||
|
|
sub format_h { $MoYs[$_[0]->[4]] }
|
|||
|
|
sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
|
|||
|
|
|
|||
|
|
sub format_d { $_[0]->[3] }
|
|||
|
|
sub format_m { $_[0]->[4] + 1 }
|
|||
|
|
sub format_o { $_[0]->[3] . '.' }
|
|||
|
|
|
|||
|
|
sub format_Q { $MoY2[$_[0]->[4]] }
|
|||
|
|
|
|||
|
|
sub str2time {
|
|||
|
|
my ($self,$value) = @_;
|
|||
|
|
map {$value=~s/(\s|^)$DoWs2[$_](\s)/$DoWs[$_]$2/ig} (0..6);
|
|||
|
|
$value=~s/(\s+|^)<29><><EFBFBD>(\s+)/$1<><31><EFBFBD>$2/;
|
|||
|
|
return $self->SUPER::str2time($value);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
1;
|