Time::Seconds - 一個將秒數轉換成其他日期值的簡單 API
use Time::Piece;
use Time::Seconds;
my $t = localtime;
$t += ONE_DAY;
my $t2 = localtime;
my $s = $t - $t2;
print "Difference is: ", $s->days, "\n";
此模組是 Time::Piece 套件的一部分。它允許使用者找出給定秒數中的分鐘、小時、天、週或年數。當您對兩個 Time::Piece 物件進行 delta 計算時,它會由 Time::Piece 回傳。
Time::Seconds 也會匯出下列常數
ONE_DAY
ONE_WEEK
ONE_HOUR
ONE_MINUTE
ONE_MONTH
ONE_YEAR
ONE_FINANCIAL_MONTH
LEAP_YEAR
NON_LEAP_YEAR
由於 perl (目前?) 不支援常數物件,因此這些常數僅以秒為單位,所以您無法執行此操作:print ONE_WEEK->minutes;
可以使用下列方法
my $val = Time::Seconds->new(SECONDS)
$val->seconds;
$val->minutes;
$val->hours;
$val->days;
$val->weeks;
$val->months;
$val->financial_months; # 30 days
$val->years;
$val->pretty; # gives English representation of the delta
物件上也可以使用一般的算術運算 (+,-,+=,-=)。
這些方法假設一天有 24 小時、一週有 7 天、一年有 365.24225 天,一年有 12 個月。(來自 http://www.tondering.dk/claus/calendar.html 上的日曆常見問題解答)
Matt Sergeant, matt@sergeant.org
Tobias Brox, tobiasb@tobiasb.funcom.com
Balázs Szabó (dLux), dlux@kapu.hu
版權所有 2001,Larry Wall。
此模組為免費軟體,您可以在與 Perl 相同的條款下散布它。
目前,這些方法並非如其所能的那麼有效率,原因在於清晰度。這可能是一個壞主意。