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

有帮助吗?

解决方案

其他提示

您可以在 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} ,但这在某些系统上不起作用。)

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top