內容

名稱

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 相同的條款下散布它。

錯誤

目前,這些方法並非如其所能的那麼有效率,原因在於清晰度。這可能是一個壞主意。