perl - datetime strptime 返回错误的模式
问题描述
我从文件中提取日期,并使用此命令创建日期时间对象,然后将 1 添加到它以获取下一个日期。
my $parseit = DateTime::Format::Strptime->new(pattern => '%Y%m%d');
my $lastdate = "20190115";
my $tempdate = $parseit->parse_datetime($lastdate);
my $date_up1 = $tempdate->add(days => 1);
但是在打印出变量 $date_up1 时,我总是以 %Y-%m-%d 的形式得到它。我怎样才能让它以我选择的模式返回。
解决方案
strptime 因此 DateTime::Format::Strptime 默认情况下仅指示您如何将输入解析为 DateTime 对象。DateTime 对象默认为您所看到的特定字符串化。为了以某种方式对其进行字符串化,您可以使用它的strftime方法。
print $date_up1->strftime('%Y%m%d');