如何在perl中计算截断的儒略日?
我们一直在使用这个朱利安日计算器给出发布编号: 现在,我们希望自动化构建/发布过程,并将构建编号(从今天起)插入到相关的源代码中如何在perl中计算截断的儒略日?,perl,date,Perl,Date,我们一直在使用这个朱利安日计算器给出发布编号: 现在,我们希望自动化构建/发布过程,并将构建编号(从今天起)插入到相关的源代码中 如何在perl中复制此TJD函数?您可以使用CPAN模块Time::JulianDay,然后自己截断它 这应该起作用: use Time::JulianDay; my $jd = julian_day($year, $month_1_to_12, $day); 根据您提供的链接,您可以通过减去JD-2440000.5计算TJD: $jd =
如何在perl中复制此TJD函数?您可以使用CPAN模块Time::JulianDay,然后自己截断它 这应该起作用:
use Time::JulianDay;
my $jd = julian_day($year, $month_1_to_12, $day);
根据您提供的链接,您可以通过减去JD-2440000.5计算TJD:
$jd = $jd - 2440000.5;
见:
您可以使用CPAN模块Time::JulianDay,然后自己截断它 这应该起作用:
use Time::JulianDay;
my $jd = julian_day($year, $month_1_to_12, $day);
根据您提供的链接,您可以通过减去JD-2440000.5计算TJD:
$jd = $jd - 2440000.5;
见:
这似乎有效:
#!perl
use POSIX;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$yr = $year + 1900;
$mn = $mon + 1;
$hr = 0;
print "Current Date $mday-$mn-$yr\n";
# In leap years, -1 for Jan, Feb, else 0
$L = POSIX::ceil(($mn - 14) / 12);
$p1 = $mday - 32075 + POSIX::floor (1461 * ($yr + 4800 + $L) / 4);
$p2 = POSIX::floor (367 * ($mn - 2 - $L * 12) / 12);
$p3 = 3 * POSIX::floor (POSIX::floor (($yr + 4900 + $L) / 100) / 4);
$julian = $p1 + $p2 - $p3;
$julian = $julian + ($hr / 24.0) - 0.5;
$tjd = $julian - 2440000.5;
print $tjd;
看起来可以简化,但这给出了正确的数字这似乎可行:
#!perl
use POSIX;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$yr = $year + 1900;
$mn = $mon + 1;
$hr = 0;
print "Current Date $mday-$mn-$yr\n";
# In leap years, -1 for Jan, Feb, else 0
$L = POSIX::ceil(($mn - 14) / 12);
$p1 = $mday - 32075 + POSIX::floor (1461 * ($yr + 4800 + $L) / 4);
$p2 = POSIX::floor (367 * ($mn - 2 - $L * 12) / 12);
$p3 = 3 * POSIX::floor (POSIX::floor (($yr + 4900 + $L) / 100) / 4);
$julian = $p1 + $p2 - $p3;
$julian = $julian + ($hr / 24.0) - 0.5;
$tjd = $julian - 2440000.5;
print $tjd;
看起来它可以简化,但这给出了正确的数字有趣的是,看起来模块有一些Innacuises也perl安装不在我的控制之下,所以添加模块它不是一个选项有趣的,看起来模块有一些Innacuises也perl安装不在我的控制之下,所以添加模块它不是一个选项