给定一个日期/时间的(年,月,日,时,分,秒)的数组,你会如何将其转换为划时代的时间,即自1970-01-01 00:00:00 GMT的秒数?
额外问题:如果将日期/时间作为字符串给出,您将如何首先将其解析为(y,m,d,h,m,s)数组?
我想将时间戳从本地时间转换为GMT.我有遗留代码,使用Time::Local::timelocal()和"手动"执行此操作gmtime.它有效,但我不喜欢它,Time::Piece而是想用它代替.我用这个答案这样做(虽然他们正在转换,但我能够+用-:-) 取代).
这是我的代码:
#!/usr/bin/env perl
use strict;
use warnings;
use Time::Local;
use Time::Piece;
use POSIX qw(strftime);
sub local_to_utc_timelocal
{
my $local_ts = shift;
my ( $year, $mon, $mday, $hour, $min, $sec )
= ( $local_ts =~ /(\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)/ );
my $local_secs = Time::Local::timelocal( $sec, $min, $hour, $mday, $mon - 1, $year );
return POSIX::strftime( '%y-%m-%d %H:%M:%S', gmtime($local_secs) );
}
sub local_to_utc_timepiece
{
my $local_ts = shift;
my $local_tp …Run Code Online (Sandbox Code Playgroud) 如何在Perl中使用regex进行以下转换?
British style US style
"2009-27-02" => "2009-02-27"
Run Code Online (Sandbox Code Playgroud)
我是Perl的新手并且对regex不太了解,我能想到的只是提取" - "的不同部分然后重新连接字符串,因为我需要动态进行转换,我觉得我的方法将非常缓慢和丑陋.
我需要使用Perl将纪元日期和时间字符串转换为UTC日期和时间.
请分享您的想法.
#!/usr/bin/perl
my $start_time='1448841600';
my $stop_time='1448863200';
Run Code Online (Sandbox Code Playgroud)
以上两个日期和时间采用纪元格式,应将其转换为UTC日期和时间.