ParseDate
從哪裏來?是Time::ParseDate
?我想要Time::Piece。它已自5.10標準的Perl模塊,我可以指定日期是在另外的格式,Time::Piece
是面向對象:
use strict; # Lets you know when you misspell variable names
use warnings; # Warns of issues (using undefined variables
use feature qw(say);
use Time::Piece;
my $time1 = "21-01-2014";
my $time2 = "01-09-2014"; #Assuming this is Sept, 1, 2014
my $time_obj1 = Time::Piece->strptime("$time1", "%d-%m-%Y");
my $time_obj2 = Time::Piece->strptime("$time2", "%d-%m-%Y");
if ($time_obj1 < $time_obj2) { # Comparing number of days since "the epoc"
say $time_obj1->dmy . " is older than " . $time_obj2->dmy;
}
else {
say $time_obj2->dmy . " is older than " . $time_obj1->dmy;
}
如果您不希望創建對象,你可以簡單地使用由Time::Piece->strptime
返回值:
if (Time::Piece->strptime("$time1", "%d-%m-%Y")
< Time::Piece->strptime("$time2", "%d-%m-%Y")) {
say "$time1 is older than $time2";
}
else {
say "$time2 is older than $time1";
}
字符串%d-%m-%Y
是你日期的格式。 (你應該檢查返回值Time::Piece->strptime
以確保你有一個有效的Time::Piece
對象返回。爲簡單起見,我沒有這樣做)。
您可以在date的聯機幫助頁或strftime的聯機幫助頁上找到百分比格式代碼。
你從哪裏得到函數'ParseDate'?它是在第三方模塊中還是在您自己的代碼中定義的? – ThisSuitIsBlackNot
假設我們正在討論[Time :: ParseDate](http://search.cpan.org/~muir/Time-modules-2003.0211/lib/Time/ParseDate.pm),我會注意到它解析日期作爲DD/MM/YYYY **「僅限於英國,或者無效的mm/dd/yyyy」**。美國式可能是1月9日的第二次日期。 –
2014年1月的第二十一天在同年9月的第一天。所以你的'如果'條件_應該失敗。 –