Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在perl中将历元秒转换为正常时间?_Perl_Date - Fatal编程技术网

如何在perl中将历元秒转换为正常时间?

如何在perl中将历元秒转换为正常时间?,perl,date,Perl,Date,我有一个历元秒字符串“1510652305”,当我在unix命令行上使用 `date -d @1510652305` 我明白了 2017年11月14日星期二15:08:25 IST 但是当我在perl中使用类似这样的东西时 use POSIX qw(strftime); use Time::Local; use Time::localtime; $kickoff_time=1510652305; $kickoff_time=ctime($kickoff_time); 我明白了 1970年1

我有一个历元秒字符串“1510652305”,当我在unix命令行上使用

`date -d @1510652305`
我明白了 2017年11月14日星期二15:08:25 IST

但是当我在perl中使用类似这样的东西时

use POSIX qw(strftime);
use Time::Local;
use Time::localtime;

$kickoff_time=1510652305;
$kickoff_time=ctime($kickoff_time);
我明白了

1970年1月1日星期四05:30:00

在linux中,如何用perl实现我得到的结果

谢谢

不要想得太多

my $kickoff_time = localtime 1510652305;
say $kickoff_time; # Tue Nov 14 15:08:25 2017
如果您确实需要时区:

use POSIX qw{strftime};

my $kickoff_time = strftime '%a %b %e %H:%M:%S %Z %Y', localtime 1510652305;
say $kickoff_time; # Tue Nov 14 15:08:25 IST 2017

请注意,这取决于语言环境。

我建议使用
Time::Piece
来完成这项工作——它是perl的核心

#!/usr/bin/env perl

use strict;
use warnings; 
use Time::Piece;

my $t = localtime ( 1510652305 );

print $t;

它将打印默认格式,或者您可以使用
strftime
使用格式化

我们必须使用localtime从历元秒到时间转换,使用gmtime从正常秒到时间转换,我现在就知道了…谢谢!!还是很困惑。
localtime
gmtime
都希望输入的是epoch秒。要详细说明,
localtime()
获取历元并返回表示本地时区中时间的字符串(或日期部分数组)
gmtime()
获取历元并返回一个表示UTC时间的字符串(或日期部分数组)。我不知道您来自何处,是否方便,但您是否打算在下个周末参加伦敦Perl研讨会?我是牛津人。我没有意识到有一个。我可能会看一看,看能否到达那里,但可能性并不是那么大;)我想包括一个链接。。。[这里是](yapc.eu/lpw2017/法案)。LPW是一项一年一度的活动,总是在年底,在一个星期六,在伦敦市中心的一所大学里免费举行。出席人数从100人到200人不等,通常会有三到四条平行的演讲轨道,然后参观酒吧。我以前去过那里一次,今年去(和说)了。还有一些像戴夫·克罗斯这样的常客也将出席。我甚至不知道你是英国人。我要从柏林来,所以牛津不应该那么难OP没有访问日期部分,因此Time::Piece在这里没有任何帮助。Time::Piece::localtime()返回的标量值与内置的
localtime()
返回的标量值没有什么不同。我错过什么了吗?