我想在perl中将毫秒添加到当前时间中。我写了这个代码:
my $currentTime = DateTime->now(time_zone=>$timezone);
my $endTimeInMills = $details->{'msToEnd'};
my $dealEndTime = $currentTime->add(nanoseconds => ($endTimeInMills * 1000000) );
我面临的问题是,在将纳秒添加到当前时间后,我看到损失了1分钟。就像添加后的时间应该是22:00,但它会显示21:59。有人能说出这个问题吗?
添加足够数量的纳秒将按预期更改时间。
use feature qw( say );
use DateTime qw( );
my $dt = DateTime->now( time_zone => 'local' );
say $dt->hms; # 23:10:10
$dt->add( nanoseconds => 2_000_000_000 );
say $dt->hms; # 23:10:12
不知道你遇到了什么问题,因为你没有演示。