能够操控日期和时间对于大多数编程语言来说是基本的能力,Perl也不例外。但是,在碰到与时间相关的更加复杂的处理时,Perl自带的功能常常就显得力不从心了。在这种情况下,上Perl综合典藏网(CPAN)看看是一个好主意,上面有很多随时可以使用的Perl模块,让开发人员能够有效地进行日期和时间操作。花点时间浏览这个网站看看是否能够找到一些在下一个项目里用得上的东西是值得的。
本文列出了Perl CPAN上用来操控日期和时间的10个最有趣的模块(表格A),为您下一次转化时区和计算两个时间戳之间的秒数打下了基础。现在我们就来看看它们。
名称
描述
url
Date::Manip这个模块被称为日期操控模块的“瑞士军刀”。它提供的例程可以用来分析和比较日期,提取日期信息,确定日期信息,确定日期/时间偏量,使用重复日期和时间,以及在不同语言里使用日期等。但是,它运行起来要比其他更加专业的模块慢。当您需要一个通用的日期操控模块且不特别关心性能的时候使用这个模块。
Date::Manip
DateTime
这个模块是Perl的DateTime项目的一部分,它提供了一个基类,用以“代表日期/时间的组合”。它是创建自定义日期(Date)对象的最方便的方法,并且包括了用于分析、格式化、计算持续时间和操控时区的模块。一般来说,在需要本地化或者定义用于时间信息的自定义存储容器的时候,您要将这个模块用作创建与日期相关的新对象。
DateTime
Time::Format
在需要重新格式化日期和时间值的时候,这个模块是无可匹敌的——它支持大量格式化代码,能够大幅改变日期和时间的外观。它同时接受DateTime对象和Date::Manip字符串,还为加入的控件提供了到POSIX的strftime()函数的接口。当您需要格式化日期和时间值的时候(通常是在将它们显示给应用程序用户之前)使用这个模块。
Time::Format
Time::Interval
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)这个模块对于处理时间间隔十分有用。它提供的例程可以计算两个时间戳之间的日、小时、分钟和秒的总数。它还可以轻松地将时长转换成不同的时间单位,例如秒、小时,或者分钟。当您需要计算两个日期值之间所流逝的时间时使用这个模块。
Time::Interval
Date::Convert
这个模块提供的例程用于在不同的日期格式(阳历、儒略历、犹太历、伊斯兰历和绝对历)之间转换。它还提供挂钩用以轻松扩展到新的日历格式。当您需要从一个日历格式转换到另外一个日历格式的时候使用这个模块。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)Date::Convert
Benchmark
这个模块允许您多次运行同一段代码,计算执行每次运行的时间并返回所取得的平均值。它还可以被用来查看一个代码块可以在固定的时间窗里运行多少次。在进行性能基准测试,测量某个代码块运行的速度,以及收集精确的读数以指导您进行优化的时候使用这个模块。
Benchmark
Time::Normalize
这个模块提供的例程用来把任意日期和时间值格式化成一个统一的、标准的表示,它然后可以被用来进行计算或者保存。它会对输入的内容进行错误检查,然后以清楚的格式返回独立的时间和/或日期组件。当您怀疑输入的日期有错误并需要在数据库或者应用程序里使用它之前“清理干净”的时候使用这个模块。