Perl Проблема вычитания Datetime

У меня небольшая проблема с вычитанием двух объектов datetime друг из друга. Я использую следующий код:


    $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 дней.

Есть ли у меня ошибка в моем вычитании?

Большое спасибо за вашу помощь.

5
задан Anders Lindahl 16 August 2011 в 06:50
поделиться