<div dir="ltr">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):<div><br></div>
<div><font face="courier new, monospace">use RT ();<br>use RT::Date ();<br>use RT::Interface::CLI ();<br>use RT::Ticket ();<br><br>RT::Interface::CLI::CleanEnv;<br>RT::LoadConfig;<br>RT::Init;<br><br>my $due_date = RT::Date->new($RT::SystemUser);<br>
$due_date->Set(<br>  Value   => '11am Wednesday',<br>  Format  => 'unknown',<br>);<br>my $ticket = RT::Ticket->new($RT::SystemUser);<br>$ticket->Create(<br>  Queue   => '<queue name>',<br>
  Subject => '<ticket title>',<br>  Due     => $due_date,<br>);</font></div><div><br></div><div>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 wrong?</div>
<div><br></div><div>It looks like something could be wrong in the way RT::Date calls Time::ParseDate:</div><div><br></div><div><font face="courier new, monospace">$ grep '11am Wednesday' rt-debug.log<br>... [debug]: RT::Date used Time::ParseDate to make '11am Wednesday' <span style="background-color:rgb(255,255,255)"><font color="#ff0000">1402362000</font></span> (.../RT/Date.pm:240)<br>
<br>$ TZ=Australia/Melbourne perl -e 'warn scalar localtime(<font color="#ff0000">1402362000</font>)'</font></div><div><font face="courier new, monospace"><font color="#ff0000">Tue</font> Jun 10 11:00:00 2014 at -e line 1.</font></div>
<div><br></div><div>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'.</div><div><br>
</div><div>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.</div>
</div>