title: Perl's Date::Manip - how to convert a given date into another timezone
body: <p>Consider the following code snippet that takes user input (a date) and format it using UnixDate from Date::Manip</p>
  
  <pre><code>#!/usr/bin/perl
  use Date::Manip;
  
  my $input = join(" ", @ARGV);
  my $date = UnixDate($input, "%Y-%m-%d %T"); 
  print $date;
  </code></pre>
  
  <p>This was done to allow users to enter friendly dates such as "<em>yesterday</em>" or "<em>1 week ago</em>".</p>
  
  <p>I would like to use <strong>$date</strong> with a different timezone (it will be used to extract SQL data). How would this be done?
  I did not find any construct of <a href="http://search.cpan.org/~sbeck/Date-Manip-6.21/lib/Date/Manip/DM6.pod" rel="nofollow">UnixDate</a> that would allow to put a timezone, and I do not know either how to reformat the user input (concatenating the name of the timezone to it doesn't help).</p>
  
  <p><strong>Example</strong></p>
  
  <p>The user is somewhere in Central Europe (timezone: CET) and enters "today at 1pm". Execution of the code above is as follows:</p>
  
  <pre><code>$ ./test.pl today at 1pm
  2011-03-03 13:00:00
  </code></pre>
  
  <p>This is the expected result as no timezone change are in effect. What I would like is to use that <strong>$date</strong> with another timezone, e.g. Pacific Standard (timezone: PST). In this case the output should be:</p>
  
  <pre><code>$ ./test.pl today at 1pm
  2011-03-03 04:00:00
  </code></pre>