The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# $Id: parse_date.t 1039 2003-05-30 14:04:49Z cfaerber $
use Test::More tests => 18;
use DateTime 0.10;
use DateTime::TimeZone 0.12;
use DateTime::Format::Pg 0.02;

my $dt;

# ISO 
#
$dt = DateTime::Format::Pg->parse_date('2003-04-26');
is($dt->ymd(), '2003-04-26');

$dt = DateTime::Format::Pg->parse_date('1900-01-01');
is($dt->ymd(), '1900-01-01');

$dt = DateTime::Format::Pg->parse_date('0001-12-24 BC');
is($dt->ymd(), '0000-12-24');

# PostgreSQL
#
$dt = DateTime::Format::Pg->parse_date('26-04-2003', 'european' => 1);
is($dt->ymd(), '2003-04-26');

$dt = DateTime::Format::Pg->parse_date('01-01-1900', 'european' => 1);
is($dt->ymd(), '1900-01-01');

$dt = DateTime::Format::Pg->parse_date('24-12-0001 BC', 'european' => 1);
is($dt->ymd(), '0000-12-24');

$dt = DateTime::Format::Pg->parse_date('04-26-2003', 'european' => 0);
is($dt->ymd(), '2003-04-26');

$dt = DateTime::Format::Pg->parse_date('01-01-1900', 'european' => 0);
is($dt->ymd(), '1900-01-01');

$dt = DateTime::Format::Pg->parse_date('12-24-0001 BC', 'european' => 0);
is($dt->ymd(), '0000-12-24');

# SQL
#
$dt = DateTime::Format::Pg->parse_date('26/04/2003', 'european' => 1);
is($dt->ymd(), '2003-04-26');

$dt = DateTime::Format::Pg->parse_date('01/01/1900', 'european' => 1);
is($dt->ymd(), '1900-01-01');

$dt = DateTime::Format::Pg->parse_date('24/12/0001 BC', 'european' => 1);
is($dt->ymd(), '0000-12-24');

$dt = DateTime::Format::Pg->parse_date('04/26/2003', 'european' => 0);
is($dt->ymd(), '2003-04-26');

$dt = DateTime::Format::Pg->parse_date('01/01/1900', 'european' => 0);
is($dt->ymd(), '1900-01-01');

$dt = DateTime::Format::Pg->parse_date('12/24/0001 BC', 'european' => 0);
is($dt->ymd(), '0000-12-24');

# German
#
$dt = DateTime::Format::Pg->parse_date('26.04.2003');
is($dt->ymd(), '2003-04-26');

$dt = DateTime::Format::Pg->parse_date('01.01.1900');
is($dt->ymd(), '1900-01-01');

$dt = DateTime::Format::Pg->parse_date('24.12.0001 BC');
is($dt->ymd(), '0000-12-24');