【问题标题】:How to convert text date to timestamp?如何将文本日期转换为时间戳?
【发布时间】:2020-12-03 02:35:54
【问题描述】:

如何将日期转换为文本格式:

23.10.2011  11:35:00

时间戳?

【问题讨论】:

    标签: perl


    【解决方案1】:

    使用 Time::Local ,您可以:

    use Time::Local;
    
    my $date = '23.10.2011  11:35:00';
    my ($mday,$mon,$year,$hour,$min,$sec) = split(/[\s.:]+/, $date);
    my $time = timelocal($sec,$min,$hour,$mday,$mon-1,$year);
    print $time,"\n",scalar localtime $time;
    

    输出:

    1319362500
    Sun Oct 23 11:35:00 2011
    

    【讨论】:

      【解决方案2】:

      我会调查DateTimeparsing modules

      perl -MDateTime::Format::Strptime -le'$strp = DateTime::Format::Strptime->new( pattern => "%d.%m.%Y  %T", time_zone => "local"); $dt = $strp->parse_datetime("23.10.2011  11:35:00"); print $dt->epoch'
      1319384100 at -e line 1.
      

      同上,但不是单行:

      use DateTime::Format::Strptime;
      my $strp = DateTime::Format::Strptime->new(
         pattern => '%d.%m.%Y  %T',
         time_zone => 'local',
      );
      my $dt = $strp->parse_datetime('23.10.2011  11:35:00');
      print $dt->epoch;
      

      【讨论】:

        猜你喜欢
        • 2018-07-23
        • 1970-01-01
        • 2019-08-24
        • 2012-04-10
        • 2016-11-26
        • 2019-04-03
        • 1970-01-01
        相关资源
        最近更新 更多