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

如何解析一个字符串到Perl中的DateTime对象?

发布时间:2020-12-15 21:24:19 所属栏目:大数据 来源:网络整理
导读:我知道DateTime Perl模块,和许多 DateTime::Format:: 模块来解析特定类型的日期/时间格式。然而,给定一些日期/时间字符串的例子,我怎么知道(在编码/设计时,而不是在运行时)我应该使用哪个特定的模块? 例如,我想解析字符串,如:2011年10月28日晚上9:00
我知道DateTime Perl模块,和许多 DateTime::Format::模块来解析特定类型的日期/时间格式。然而,给定一些日期/时间字符串的例子,我怎么知道(在编码/设计时,而不是在运行时)我应该使用哪个特定的模块?

例如,我想解析字符串,如:2011年10月28日晚上9:00 PDT

有一个列表的最常见的日期/时间格式的地方,我可以看看这里,找到哪个是最合适的模块?

我还知道一些模块,试图“猜”的格式为每个给定的字符串在运行时,尽他们最好的。但是,对于敏感的应用程序,我想在设计应用程序时首先确定(尽可能严格)格式,然后使用一个模块,如果字符串不匹配指定的格式,它会警告我。

我应该怎么做呢?

解决方法

DateTime::Format::Strptime获取日期/时间字符串并将其解析为DateTime对象。
#!/usr/bin/perl

use strict;
use warnings;

use DateTime::Format::Strptime;

my $parser = DateTime::Format::Strptime->new(
  pattern => '%B %d,%Y %I:%M %p %Z',on_error => 'croak',);

my $dt = $parser->parse_datetime('October 28,2011 9:00 PM PDT');

print "$dtn";

在模式中使用的字符序列是POSIX标准。有关详细信息,请参阅“man strftime”。

(编辑:李大同)

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

    推荐文章
      热点阅读