App-dategrep
view release on metacpan or search on metacpan
t/11strptime.t view on Meta::CPAN
#/usr/bin/perl
use strict;
use warnings;
use Test::More;
use Test::MockTime qw(set_absolute_time);
use POSIX qw(tzset);
BEGIN {
$ENV{LC_ALL} = 'C';
$ENV{TZ} = 'GMT';
}
plan( skip_all => 'skip tests using tzset windows' ) if $^O eq 'MSWin32';
tzset;
set_absolute_time(1514884865);
use App::dategrep::Strptime qw(strptime);
eval { strptime( '2018-06-30T12:12:12', '%1' ) };
like( $@, qr(^Unknown conversion specification 1) );
while (<DATA>) {
chomp;
my ( $string, $format, $epoch ) =
map { s/^\s*//; s/\s*$//; $_ } split( /\|/, $_ );
is( strptime( $string, $format ), $epoch, "$string -> $format" );
}
done_testing;
__DATA__
Sun, 06-Nov-1994 08:49:37 UTC | %a, %d-%B-%Y %T %Z | 784111777
Mon Jul 02 | %a %b %d | 1530489600
Mon Jul 2 | %a %b %d | 1530489600
Mon Jul 2 | %a %b %e | 1530489600
Oct 1 08:12:51 | %b %d %H:%M:%S | 1538381571
2018-06-30T12:12:12Z | %FT%T%z | 1530360732
2018-06-30T12:12:12+02:00 | %FT%T%z | 1530353532
2018-06-30T12:12:12CET | %FT%T%z | 1530353532
2018-06-30 12:12:12 | %F%t%H:%M:%S | 1530360732
2018-06-30T12:12:12 | %Y-%m-%dT%H:%M:%S | 1530360732
2018-06-30T12:12:12 | %FT%H:%M:%S | 1530360732
2018-06-30T12:12:12 | %FT%T | 1530360732
2018-06-30 12:12:12 | %F%t%H:%M:%S | 1530360732
2018-06-30 12:12:12 PM | %F %I:%M:%S %p | 1530360732
2018-06-30 12:12:12 AM | %F %I:%M:%S %p | 1530317532
( run in 2.681 seconds using v1.01-cache-2.11-cpan-524268b4103 )