与Perl中的本地时间功能相反的是什么?

时间:2009-03-02 19:41:34

标签: perl timestamp

在Perl中,localtime采用Unix时间戳并返回年/月/日/小时/分/秒等。我正在寻找localtime的反面:我有部分,我想从他们那里建立一个unix时间戳。

3 个答案:

答案 0 :(得分:15)

您可以在Time::Local CPAN模块中使用timelocal函数。

  

NAME

     

时间::本地 - 有效地计算时间   从当地和格林尼治标准时间

     

概要

$time = timelocal($sec,$min,$hour,$mday,$mon,$year);
$time = timegm($sec,$min,$hour,$mday,$mon,$year);
     

说明

     

该模块提供的功能   是内置perl的反转   函数localtime()和gmtime()。   他们接受一个六元素的约会   数组,并返回相应的   时间(2)以秒为单位的值   系统时代(1月1日午夜,   1970年GMT在Unix上,例如)。这个   价值可以是正面的或负面的,   虽然POSIX只需要支持   正值,所以日期之前   系统的时代可能不适用于所有   操作系统。

     

特别值得一提   注意预期的范围   提供的价值。的价值   每月的某天是实际的一天(即   1..31),而月份是自1月(0..11)以来的月数。这个   与返回的值一致   来自localtime()和gmtime()。

注意: POSIX::mktime只是C库mktime()函数的一个包装器。 Time :: Local是纯Perl实现,并且始终返回与Perl的localtime匹配的结果。此外,Time :: Local提供gmtime,而mktime仅适用于当地时间。 (好吧,您可以尝试更改$ENV{TZ},但这在某些系统上不起作用。)

答案 1 :(得分:9)

答案 2 :(得分:7)

关于CPAN的

DateTime可能会有所帮助。它还具有很多的时间操作/翻译方法。

只需使用您的部件创建DateTime并调用$ datetime-> formatter(“%s”);