考慮下面的代碼片段,它需要用戶輸入(日期),並使用UnixDate從日期:: MANIPPerl的日期:: MANIP - 如何在給定的日期轉換爲另一時區
#!/usr/bin/perl
use Date::Manip;
my $input = join(" ", @ARGV);
my $date = UnixDate($input, "%Y-%m-%d %T");
print $date;
這是格式化以允許用戶輸入友好日期,如「昨天」或「1周前」。
我想使用$ date與不同的時區(它將用於提取SQL數據)。這將如何完成? 我沒有找到任何構造UnixDate,這將允許放置一個時區,我不知道如何重新格式化用戶輸入(將時區名稱連接到它沒有幫助)。
例
用戶則介於中歐(時區:CET),進入 「今天下午1點」。執行上面的代碼如下:
$ ./test.pl today at 1pm
2011-03-03 13:00:00
這是因爲沒有時區更改生效的預期結果。我想要的是將$ date與另一個時區一起使用,例如,太平洋標準(時區:PST)。在這種情況下,輸出應爲:
$ ./test.pl today at 1pm
2011-03-03 04:00:00
是的!真棒。正是我在找什麼。那就是在Date :: Manip頁面上。 – emx