Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 根据月亮相位显示图像_Php - Fatal编程技术网

Php 根据月亮相位显示图像

Php 根据月亮相位显示图像,php,Php,我想知道是否有可能用PHP计算当前的月球相位或从某处(www,rss,我不知道…)获取它 基本上,我需要显示一个网站上的图像取决于当前的月球阶段 我发现:,然而,作者说它不是100%准确 有什么想法吗?谢谢 这似乎相当准确: 快擦掉它 为什么要使用RSS提要,为什么不自己计算当前相位,就像这里所解释的那样:这是参考这个。//计算月球相位(1900-2199) $year=日期('Y'); $month=日期('n'); $day=日期('j'); 如果($month

我想知道是否有可能用PHP计算当前的月球相位或从某处(www,rss,我不知道…)获取它

基本上,我需要显示一个网站上的图像取决于当前的月球阶段

我发现:,然而,作者说它不是100%准确


有什么想法吗?谢谢

这似乎相当准确:


快擦掉它

为什么要使用RSS提要,为什么不自己计算当前相位,就像这里所解释的那样:这是参考这个。

//计算月球相位(1900-2199)
$year=日期('Y');
$month=日期('n');
$day=日期('j');
如果($month<4){$year=$year-1;$month=$month+12;}
$days_y=365.25*$year;
$days\u m=30.42*$month;
$julian=$days_y+$days_m+$day-694039.09;
$julian=$julian/29.53;
$phase=intval($julian);
$julian=$julian-$phase;
$phase=圆形($julian*8+0.5);
如果($phase==8){$phase=0;}
$phase_array=array('new'、'waxing crescent'、'first quarter'、'waxing gibbous'、'full'、'waning gibbous'、'last quarter'、'waning crescent');
$lunar_phase=$phase_阵列[$phase];

没有什么是100%准确的。在任何情况下,要想准确,你都需要将查普洛特(ELP2000/82)给出的月球理论中的所有术语纳入他们的书《从公元前4000年到公元8000年的月球表和程序》。他们讨论他们的理论和他们的制作计划,全部20万个术语。在任何情况下,对于该精度,没有必要使用该精度,并且可接受的低精度/中等精度可能是足够的-因此100%精度可能超出了必要的范围。
// calculate lunar phase (1900 - 2199)
$year = date('Y');
$month = date('n');
$day = date('j');
if ($month < 4) {$year = $year - 1; $month = $month + 12;}
$days_y = 365.25 * $year;
$days_m = 30.42 * $month;
$julian = $days_y + $days_m + $day - 694039.09;
$julian = $julian / 29.53;
$phase = intval($julian);
$julian = $julian - $phase;
$phase = round($julian * 8 + 0.5);
if ($phase == 8) {$phase = 0;}
$phase_array = array('new', 'waxing crescent', 'first quarter', 'waxing gibbous', 'full', 'waning gibbous', 'last quarter', 'waning crescent');
$lunar_phase = $phase_array[$phase];