我有一个小问题,需要从两个日期时间对象中相减。我使用以下代码:
DT1和today的打印语句输出如下:
$today = DateTime->now( time_zone => 'Europe/Berlin' );
my $dt1 = DateTime-> new (
year => 2011,
month => 08,
day => 08,
hour => 1,
minute => 0,
second => 4,
time_zone =>'Europe/Berlin'
);
print "DT1 : $dt1\n";
print "today: $today\n";
my $sub = $today->subtract_datetime($dt1);
print "sub days: ".$sub->days."\n";
DT1和today的打印语句输出如下:
DT1 : 2011-08-08T01:00:04
today: 2011-08-16T08:34:10
但是,如果我在减法后打印$sub->days
值,它显示1而不是8天。
我的减法有错误吗?
非常感谢您的帮助。
delta_days
仍然返回周和天数,因此仍需要使用in_units
。不同之处在于它不会返回无法转换为天数的月份。 - ikegami