我正在尝试从 Perl 中的 DateTime 变量中提取年份。
我试过这个:
% cat test2
#!/usr/local/bin/perl
use strict;
use DateTime;
my $dt_begin = DateTime->new(
year => 2000,
month => 1,
day => 1,
);
print "###\n$dt_begin $dt_begin->year\n###\n";
Run Code Online (Sandbox Code Playgroud)
我得到这个作为输出:
% ./test2
###
2000-01-01T00:00:00 2000-01-01T00:00:00->year
###
Run Code Online (Sandbox Code Playgroud)
虽然我期待:
% ./test2
###
2000-01-01T00:00:00 2000
###
Run Code Online (Sandbox Code Playgroud)
year()是一个方法,方法调用没有内插。您可以使用串联:
...
print("###\n$dt_begin " . $dt_begin->year() . "\n###\n");
...
Run Code Online (Sandbox Code Playgroud)
或者printf():
...
printf("###\n%s %i\n###\n", $dt_begin, $dt_begin->year());
...
Run Code Online (Sandbox Code Playgroud)