已输入excel文件的数据将作为XML文件存储在我的一个工具中
在XML文件存储过程中,日期值以数字格式存储
例如: 2014年5月11日==> 41770 即可。我不知道如何以数字格式存储日期值。
现在,我正在尝试使用“ DateTime :: Format :: Excel ”模块检索存储在XML文件中的日期值。代码段附在下面,
有人可以告诉我,如何更改打印日期值的语言(英语,法语,德语等)。 但是,我需要的格式应该是“DD-Abbreviated Month Name -YYYY”
我在Perl中使用的代码片段:
use DateTime::Format::Excel;
use Date::Simple qw(d8);
use XML::Simple;
use String::Util("trim");
$RequiredValue = "%XML_FILE_ABSOLUTE_PATH%";
$XmlHandle = XMLin($RequiredValue, SuppressEmpty => 1);
$temp = trim($XmlHandle -> {Date});
$DateVal = DateTime::Format::Excel -> parse_datetime($temp) -> ymd();
$DateVal =~ s/-//g;
print (d8($DateVal)->format("%d-%b-%Y"));
答案 0 :(得分:0)
您可以使用DateTime和DateTime::Locale来定位格式。
#!/usr/bin/perl
use strict;
use warnings;
use DateTime;
use DateTime::Format::Excel;
my $serial = 41770;
my @locales = qw(en fr de);
my $dt = DateTime::Format::Excel->parse_datetime($serial);
foreach my $locale (@locales) {
$dt->set_locale($locale);
printf "%s => %s\n", $dt->locale->language, $dt->strftime("%d-%b-%Y");
}
输出:
English => 11-May-2014
French => 11-mai-2014
German => 11-Mai-2014