DateTime-Format-Strptime
view release on metacpan or search on metacpan
use strict;
use warnings;
use utf8;
use FindBin qw( $Bin );
use lib "$Bin/lib";
use T qw( run_tests_from_data test_datetime_object );
use Test::More 0.96;
use Test::Fatal;
use DateTime::Format::Strptime;
run_tests_from_data( \*DATA );
subtest(
'parsing whitespace',
sub {
my $parser = DateTime::Format::Strptime->new(
pattern => '%n%Y%t%m%n',
on_error => 'croak',
);
my $dt = $parser->parse_datetime(<<"EOF");
\t
2015
12
EOF
my %expect = (
year => 2015,
month => 12,
);
test_datetime_object( $dt, \%expect );
}
);
subtest(
'parser time zone is set on returned object',
sub {
my $parser = DateTime::Format::Strptime->new(
pattern => '%Y %H:%M:%S %Z',
time_zone => 'America/New_York',
on_error => 'croak',
);
my $dt = $parser->parse_datetime('2003 23:45:56 MDT');
my %expect = (
year => 2003,
hour => 0,
minute => 45,
second => 56,
time_zone_long_name => 'America/New_York',
);
test_datetime_object( $dt, \%expect );
}
);
done_testing();
__DATA__
[ISO8601]
%Y-%m-%dT%H:%M:%S
2015-10-08T15:39:44
year => 2015
month => 10
day => 8
hour => 15
minute => 39
( run in 1.581 second using v1.01-cache-2.11-cpan-54e63673c56 )