Hi All,

I am kinda stuck creating a DateTime parser.

The dates I am trying to parse are:

06/26/98
06-26-98
Jun 26 1998
Jun 26 98

I have the first two done and working but the third and forth is giving
me fits :(

Here is what I have tried;

I created a new package like so,

package DateTime::Format::UGAnswer;

use DateTime;
use DateTime::Format::Builder

( 
   parsers => { 
          parse_date => 
        [  {
           length => 8,
           strptime  => '%m-%d-%y',
           },
           { 
           length => 8,
           strptime =>'%m/%d/%y',
           },
           {
           length => 10,
           strptime => '%m/%d/%Y',
           },
           {
           length => 10,
           strptime  => '%m-%d-%Y',
           },
           
           {
           length => 11,
           strptime  => '%B%N%d%N%Y',
           },
          ],
        },
    );

sub format_date
{
    my ( $self, $dt ) = @_;

    return $dt->ymd('-');
}
1;

and my test script looks like this:

use strict;
use warnings;
use lib qw(f:/scripts);

use DateTime;
use DateTime::Format::UGAnswer;


my $dt = DateTime::Format::UGAnswer->parse_date('Jan 26 2001');

print $dt->mdy;

I have tried messing with this line in the package
strptime  => '%B%N%d%N%Y' in order to get it to work but nogo

the error is 
F:\scripts>y.pl
Invalid date format: Jan 26 2001 at F: .....

Can someone provide insite as to what I am doing wrong?

Thanks

Ron Hill

Reply via email to