我想在perl中添加毫秒到当前时间。我写了这段代码:
my $currentTime = DateTime->now(time_zone=>$timezone);
my $endTimeInMills = $details->{'msToEnd'};
my $dealEndTime = $currentTime->add(nanoseconds => ($endTimeInMills * 1000000) );
我面临的问题是在将纳秒添加到当前时间后,我看到1分钟丢失。喜欢添加时间应该是22:00但它会显示21:59。有谁能说出这个问题?
答案 0 :(得分:1)
添加足够数量的纳秒将改变您所期望的时间。
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
不知道你有什么问题,因为你没有证明它。