| Server IP : 162.214.74.102 / Your IP : 216.73.217.103 Web Server : Apache System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64 User : lrsys ( 1015) PHP Version : 5.6.40 Disable Function : exec,passthru,shell_exec,system MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /lib64/perl5/vendor_perl/ |
Upload File : |
package
DateTime;
use strict;
use warnings;
use DateTime::LeapSecond;
sub _normalize_tai_seconds {
return if grep { $_ == INFINITY() || $_ == NEG_INFINITY() } @_[ 1, 2 ];
# This must be after checking for infinity, because it breaks in
# presence of use integer !
use integer;
my $adj;
if ( $_[2] < 0 ) {
$adj = ( $_[2] - 86399 ) / 86400;
}
else {
$adj = $_[2] / 86400;
}
$_[1] += $adj;
$_[2] -= $adj * 86400;
}
sub _normalize_leap_seconds {
# args: 0 => days, 1 => seconds
my $delta_days;
use integer;
# rough adjust - can adjust many days
if ( $_[2] < 0 ) {
$delta_days = ( $_[2] - 86399 ) / 86400;
}
else {
$delta_days = $_[2] / 86400;
}
my $new_day = $_[1] + $delta_days;
my $delta_seconds
= ( 86400 * $delta_days )
+ DateTime::LeapSecond::leap_seconds($new_day)
- DateTime::LeapSecond::leap_seconds( $_[1] );
$_[2] -= $delta_seconds;
$_[1] = $new_day;
# fine adjust - up to 1 day
my $day_length = DateTime::LeapSecond::day_length($new_day);
if ( $_[2] >= $day_length ) {
$_[2] -= $day_length;
$_[1]++;
}
elsif ( $_[2] < 0 ) {
$day_length = DateTime::LeapSecond::day_length( $new_day - 1 );
$_[2] += $day_length;
$_[1]--;
}
}
1;