我试图转换2015-09-11T04:00:00为Time :: Piece对象.我试过了:
my $date = "2015-09-11T04:00:00";
my $t = Time::Piece->strptime($date, '%FT%T');
print $t->strftime('%F %T');
Run Code Online (Sandbox Code Playgroud)
但我明白了Error Parsing Time.我认为这是因为我正在寻找%FT%T并因为间距而导致问题.我该如何解决这个问题?
Time::Piece似乎在这个领域有一些错误.特别是,与其文档声称的不同,它认为这strptime %T相当于%B %e.
strftime %F并且%T也不适合我,但那可能是因为我在Windows上.
坚持标准格式规范工作正常,但:
my $date = "2015-09-11T04:00:00";
my $t = Time::Piece->strptime($date, '%Y-%m-%dT%H:%M:%S');
print $t->strftime('%Y-%m-%d %H:%M:%S'), "\n";
Run Code Online (Sandbox Code Playgroud)
您是否考虑过放弃 Time::Piece 去做其他事情?例如, DateTime 的作用就如其上所说:
use strict;
use warnings;
use DateTime::Format::Strptime;
my $date = '2015-09-11T04:00:00';
my $strp = DateTime::Format::Strptime->new(pattern => '%FT%T');
my $dt = $strp->parse_datetime($date);
print $dt->datetime; # prints 2015-09-11T04:00:00
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1621 次 |
| 最近记录: |