加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

yyyymmddhhmmss到YYYY-MM-DD hh:mm:ss in perl?

发布时间:2020-12-15 23:26:50 所属栏目:大数据 来源:网络整理
导读:将yyyymmddhhmmss转换为YYYY-MM-DD的最佳方法是什么hh:mm:ss并返回perl? 例如:20130218165601到2013-02-18 16:56:01又回来了? (可以https://metacpan.org/module/Rose::DateTime这样做)? 没有正则表达式,如果可能的话;) 解决方法 一个模块对此来说太过
将yyyymmddhhmmss转换为YYYY-MM-DD的最佳方法是什么hh:mm:ss并返回perl?

例如:20130218165601到2013-02-18 16:56:01又回来了?
(可以https://metacpan.org/module/Rose::DateTime这样做)?

没有正则表达式,如果可能的话;)

解决方法

一个模块对此来说太过分了.

# Packed -> ISO
(my $iso_date = $packed_date) =~
   s/^(....)(..)(..)(..)(..)(..)z/$1-$2-$3 $4:$5:$6/s;

# ISO -> Packed
(my $packed_date = $iso_date) =~
   s/^(....)-(..)-(..) (..):(..):(..)z/$1$2$3$4$5$6/s;

Rose::DateTime无法按预期解析“打包”格式,但您可以使用DateTime::Format::Strptime.

use DateTime::Format::Strptime qw( );
my $packed_format = DateTime::Format::Strptime->new(
   pattern  => '%Y%m%d%H%M%S',on_error => 'croak',);
my $iso_format = DateTime::Format::Strptime->new(
   pattern  => '%Y-%m-%d %H:%M:%S',);

# Packed -> ISO
my $iso_date = $iso_format->format_datetime(
   $packed_format->parse_datetime($packed_date)
);

# ISO -> Packed
my $packed_date = $packed_format->format_datetime(
   $iso_format->parse_datetime($iso_date)
);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读