DateTime-Format-Flexible
view release on metacpan or search on metacpan
lib/DateTime/Format/Flexible/lang/es.pm view on Meta::CPAN
}
sub parse_time
{
my ( $self, $date ) = @_;
return $date;
}
sub string_dates
{
my $base_dt = DateTime::Format::Flexible->base;
return (
ahora => sub { return $base_dt->datetime }, # now
hoy => sub { return $base_dt->clone->truncate( to => 'day' )->ymd } , # today
manana => sub { return $base_dt->clone->truncate( to => 'day' )->add( days => 1 )->ymd }, # tomorrow
ayer => sub { return $base_dt->clone->truncate( to => 'day' )->subtract( days => 1 )->ymd }, # yesterday
'pasado manana' => sub { return DateTime->today->add( days => 2 )->ymd }, # overmorrow (the day after tomorrow)
epoca => sub { return DateTime->from_epoch( epoch => 0 ) },
'-infinito' => sub { return '-infinity' },
infinito => sub { return 'infinity' },
);
}
sub relative
{
return (
# as in 3 years ago, -3 years
ago => qr{\bhace\b|\A\-}i,
# as in 3 years from now, +3 years
from => qr{\ba\b\s\bpartir\b\s\bde\b\s\bahora\b|\A\+}i,
# as in next Monday
next => qr{\bsiguiente\b}i,
# as in last Monday
last => qr{\bpasado\b}i,
);
}
sub math_strings
{
return (
ano => 'years' ,
anos => 'years' ,
'años' => 'years' ,
mes => 'months' ,
meses => 'months' ,
dia => 'days' ,
dias => 'days' ,
hora => 'hours' ,
horas => 'hours' ,
minuto => 'minutes' ,
minutos => 'minutes' ,
semana => 'weeks',
semanas => 'weeks',
);
}
sub timezone_map
{
# http://home.tiscali.nl/~t876506/TZworld.html
return (
CET => 'Europe/Madrid',
CEST => 'Europe/Madrid',
CST => 'America/Cancun',
CDT => 'America/Cancun',
MST => 'America/Chihuahua',
MDT => 'America/Chihuahua',
PST => 'America/Tijuana',
PDT => 'America/Tijuana',
);
}
1;
__END__
=encoding utf-8
=head1 NAME
DateTime::Format::Flexible::lang::es - spanish language plugin
=head1 DESCRIPTION
You should not need to use this module directly.
If you only want to use one language, specify the lang property when parsing a date.
example:
my $dt = DateTime::Format::Flexible->parse_datetime(
'29 de febrero de 1996' ,
lang => ['es']
);
# $dt is now 1996-02-29T00:00:00
Note that this is not required, by default ALL languages are scanned when trying to parse a date.
=head2 new
Instantiate a new instance of this module.
=head2 months
month name regular expressions along with the month numbers (enero|enro|eno => 1)
=head2 days
day name regular expressions along the the day numbers (lunes => 1)
=head2 day_numbers
maps day of month names to the corresponding numbers (primero => 01)
=head2 hours
maps hour names to numbers (ediodia => 12:00:00)
=head2 remove_strings
strings to remove from the date (de as in cinco de mayo)
=head2 parse_time
( run in 2.730 seconds using v1.01-cache-2.11-cpan-5a3173703d6 )