package Common::Date::NumericalYearFirst;

use base 'Common::Date';

sub priority { 650 }
sub type     { 'numerical_year_first' }

sub _patterns {
    [
        new Common::Date::Pattern( pattern => '(\d{4})[\-\/](\d{2})',              month => 2, year  => 1 ),
        new Common::Date::Pattern( pattern => '(\d{2,4})(\d{2})',                  month => 2, year  => 1 ),
        new Common::Date::Pattern( pattern => '(\d{4})(\d{2})(\d{2})',             day   => 3, month => 2, year => 1 ),
        new Common::Date::Pattern( pattern => '(\d{4})[\-\/](\d{2})[\-\/](\d{2})', day   => 3, month => 2, year => 1 ),
    ];
}

sub year {
    my $self = shift;

    if ( $self->{_year} && $self->{_year} =~ /^\d{2}$/ ) {
        return "20$self->{_year}";
    } else {
        return $self->{_year};
    }
}

1;
