Problems getting dates parsed with RT::Date

I am trying to get a date that looks like "Fri Mar 08 12:14:32 CST 2002"
parsed into RT using the RT::Date methods. However it is not working.

Is there any documentation on exactly what RT::Date will parse?

@Arrival, @Closed and @LastUpdated all contain dates in the format given
above?

my $RTCreated = new RT::Date();
my $RTResolved = new RT::Date();
my $RTLastUpdated = new RT::Date();
$RTCreated->Set (Format => 'unknown',
                 Value => @Arrival);
$RTResolved->Set (Format => 'unknown',
                 Value => @Closed);
$RTLastUpdated->Set (Format => 'unknown',
                 Value => @LastUpdated);

however the RTCreated does not have any date value in it?

Ted Serreyn

I am trying to get a date that looks like “Fri Mar 08 12:14:32 CST
2002” parsed into RT using the RT::Date methods. However it is not
working.

Is there any documentation on exactly what RT::Date will parse?

From perldoc RT::date:

Set

  takes a param hash with the fields 'Format' and 'Value'

  if $args->{'Format'} is 'unix', takes the number of sec�
  onds since the epoch

  If $args->{'Format'} is ISO, tries to parse an ISO date.

  If $args->{'Format'} is 'unknown', require Date::Parse and
  make it figure things out. This is a heavyweight operation
  that should never be called from within RT's core. But
  it's really useful for something like the textbox date
  entry where we let the user do whatever they want.

  If $args->{'Value'}  is 0, assumes you mean never.

@Arrival, @Closed and @LastUpdated all contain dates in the format
given above?

Turn these lists into scalars (see my example below).

my $RTCreated = new RT::Date();
my $RTResolved = new RT::Date();
my $RTLastUpdated = new RT::Date();
$RTCreated->Set (Format => 'unknown',
                 Value => @Arrival);
$RTResolved->Set (Format => 'unknown',
                 Value => @Closed);
$RTLastUpdated->Set (Format => 'unknown',
                 Value => @LastUpdated);

This shouldn’t work. Perl is flattening @Arrival, @Closed, and
@LastUpdated into multiple scalars, which means the these calls look
like:

$RTLastUpdated->Set(“Format”,
“unknown”,
“Value”,
“Fri”,
“Mar”,
“08”,
“12:14:32”,
“CST”,
“2002”);

That is, a call to the Set() method with 9 parameters. Try:

$RTLastUpdated->Set(Format => ‘unknown’,
Value => join " ", @LastUpdated);

And it should work for you.

(darren)

Your only obligation in any lifetime is to be true to yourself.
Being true to anyone else or anything else is … impossible.
– Richard Bach