[rt-users] ticket created from CLI script with wrong Due date; timezone issue?

Alex Peters alex at peters.net
Mon Jun 9 22:21:35 EDT 2014

I have the following code being run by a cron job to create a ticket every
Tuesday at 11am (Australia/Melbourne) with a due date of Wednesday at 11am
(also Australia/Melbourne, so 24 hours later):

use RT ();
use RT::Date ();
use RT::Interface::CLI ();
use RT::Ticket ();


my $due_date = RT::Date->new($RT::SystemUser);
  Value   => '11am Wednesday',
  Format  => 'unknown',
my $ticket = RT::Ticket->new($RT::SystemUser);
  Queue   => '<queue name>',
  Subject => '<ticket title>',
  Due     => $due_date,

The ticket is created at 11am Tuesday (as expected), with a Due time of
11am Tuesday (not expected--should be 11am Wednesday).  What am I doing

It looks like something could be wrong in the way RT::Date calls

$ grep '11am Wednesday' rt-debug.log
... [debug]: RT::Date used Time::ParseDate to make '11am Wednesday'
1402362000 (.../RT/Date.pm:240)

$ TZ=Australia/Melbourne perl -e 'warn scalar localtime(1402362000)'
Tue Jun 10 11:00:00 2014 at -e line 1.

I'm running RT v4.2.3 at the moment with the latest version of
Time::ParseDate at this time (v2013.1113).  RT configuration variable
$Timezone is set to 'Australia/Melbourne'.

For what it's worth, the server running the cron job has its timezone set
to 'America/Los_Angeles', but as the cron job fires at the correct time, I
don't think this contributes to the problem.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20140610/cbab7c3f/attachment.html>

More information about the rt-users mailing list