能夠操控日期和時(shí)間對(duì)于大多數(shù)編程語言來說是基本的能力,Perl也不例外。但是在碰到與時(shí)間相關(guān)的更加復(fù)雜的處理時(shí),Perl自帶的功能常常就顯得力不從心了。在這種情況下,上Perl綜合典藏網(wǎng)(CPAN)看看是一個(gè)好主意,上面有很多隨時(shí)可以使用的Perl模塊,讓開發(fā)人員能夠有效地進(jìn)行日期和時(shí)間操作。花點(diǎn)時(shí)間瀏覽這個(gè)網(wǎng)站看看是否能夠找到一些在下一個(gè)項(xiàng)目里用得上的東西是值得的。
本文列出了Perl CPAN上用來操控日期和時(shí)間的10個(gè)最有趣的模塊,為您下一次轉(zhuǎn)化時(shí)區(qū)和計(jì)算兩個(gè)時(shí)間戳之間的秒數(shù)打下了基礎(chǔ),現(xiàn)在我們就來看看它們。
注:您可以根據(jù)下面提供的方法直接從Internet上安裝CPAN模塊。
Date::Manip
這個(gè)模塊被稱為日期操控模塊的“瑞士軍刀”。它提供的例程可以用來分析和比較日期,提取日期信息,確定日期信息,確定日期/時(shí)間偏量,使用重復(fù)日期和時(shí)間,以及在不同語言里使用日期等。但是它運(yùn)行起來要比其他更加專業(yè)的模塊慢。
當(dāng)您需要一個(gè)通用的日期操控模塊且不特別關(guān)心性能的時(shí)候使用這個(gè)模塊。
DateTime
這個(gè)模塊是Perl的DateTime項(xiàng)目的一部分,它提供了一個(gè)基類,用以“代表日期/時(shí)間的組合”。它是創(chuàng)建自定義日期(Date)對(duì)象的最方便的方法,并且包括了用于分析、格式化、計(jì)算持續(xù)時(shí)間和操控時(shí)區(qū)的模塊。
一般來說,在需要本地化或者定義用于時(shí)間信息的自定義存儲(chǔ)容器的時(shí)候,您要將這個(gè)模塊用作創(chuàng)建與日期相關(guān)的新對(duì)象。
Time::Format
在需要重新格式化日期和時(shí)間值的時(shí)候,這個(gè)模塊是無可匹敵的——它支持大量格式化代碼,能夠大幅改變?nèi)掌诤蜁r(shí)間的外觀。它同時(shí)接受DateTime對(duì)象和Date::Manip字符串,還為加入的控件提供了到POSIX的strftime()函數(shù)的接口。
當(dāng)您需要格式化日期和時(shí)間值的時(shí)候(通常是在將它們顯示給應(yīng)用程序用戶之前)使用這個(gè)模塊。
Time::Interval
這個(gè)模塊對(duì)于處理時(shí)間間隔十分有用。它提供的例程可以計(jì)算兩個(gè)時(shí)間戳之間的日、小時(shí)、分鐘和秒的總數(shù)。它還可以輕松地將時(shí)長(zhǎng)轉(zhuǎn)換成不同的時(shí)間單位,例如秒、小時(shí),或者分鐘。
當(dāng)您需要計(jì)算兩個(gè)日期值之間所流逝的時(shí)間時(shí)使用這個(gè)模塊。
Date::Convert
這個(gè)模塊提供的例程用于在不同的日期格式(陽歷、儒略歷、猶太歷、伊斯蘭歷和絕對(duì)歷)之間轉(zhuǎn)換。它還提供掛鉤用以輕松擴(kuò)展到新的日歷格式。
當(dāng)您需要從一個(gè)日歷格式轉(zhuǎn)換到另外一個(gè)日歷格式的時(shí)候使用這個(gè)模塊。
Benchmark
這個(gè)模塊允許您多次運(yùn)行同一段代碼,計(jì)算執(zhí)行每次運(yùn)行的時(shí)間并返回所取得的平均值。它還可以被用來查看一個(gè)代碼塊可以在固定的時(shí)間窗里運(yùn)行多少次。
新聞熱點(diǎn)
疑難解答
圖片精選