
根据出生日期和时间查询你的上升星座。请注意,精确的时间很重要,误差超过15分钟可能会导致结果不准确。
setTimezone($timezone);
$longitude = 121.472644;
$latitude = 31.230416;
$elevation = 0;
$sidereal_time = sidereal_time($longitude, $latitude, $elevation, $date);
$ascending_sign = ascending_sign($sidereal_time);
echo ”
查询结果:
“;
echo “”;
echo “”;
echo “”;
echo “”;
echo ”
| 出生日期 | $birthdate |
|---|---|
| 出生时间 | $birthtime |
| 上升星座 | $ascending_sign |
“;
}
function sidereal_time($longitude, $latitude, $elevation, $datetime) {
$julian_date = julian_date($datetime);
$greenwich_sidereal_time = greenwich_sidereal_time($julian_date);
$local_sidereal_time = local_sidereal_time($longitude, $greenwich_sidereal_time);
$sidereal_time_at_birth = sidereal_time_at_birth($latitude, $elevation, $local_sidereal_time);
return $sidereal_time_at_birth;
}
function julian_date($datetime) {
$year = $datetime->format(‘Y’);
$month = $datetime->format(‘m’);
$day = $datetime->format(‘d’);
$hour = $datetime->format(‘H’);
$minute = $datetime->format(‘i’);
$second = $datetime->format(‘s’);
$julian_date = 367 $year – parseInt(($7 ($year + parseInt(($month + 9) / 12))) / 4) + parseInt((275 $month) / 9) + $day + 1721013.5 + ($hour + $minute / 60 + $second / 3600) / 24;
return $julian_date;
}
function greenwich_sidereal_time($julian_date) {
$sidereal_time = 6.697374558 + (0.06570982441908 $julian_date) + (2400.051262 ($julian_date – 2451545.0) / 36525) + 0.00002581 pow(($julian_date – 2451545.0) / 36525, 2);
$sidereal_time = fmod($sidereal_time, 24);
return $sidereal_time;
}
function local_sidereal_time($longitude, $greenwich_sidereal_time) {
$local_sidereal_time = fmod($greenwich_sidereal_time + ($longitude / 15), 24);
return $local_sidereal_time;
}
function sidereal_time_at_birth($latitude, $elevation, $local_sidereal_time) {
$sidereal_time_at_birth = fmod($local_sidereal_time + 0.06570982441908 ($elevation / sin($latitude pi() / 180.0)) / 3600.0, 24);
return $