You can obtain the decimal fraction of the Julian date with the php gregoriantojd() function or the function shown below by applying this code to the returned value.
<?php
$julianDate = gregoriantojd($month, $day, $year);
//correct for half-day offset
$dayfrac = date('G') / 24 - .5;
if ($dayfrac < 0) $dayfrac += 1;
//now set the fraction of a day
$frac = $dayfrac + (date('i') + date('s') / 60) / 60 / 24;
$julianDate = $julianDate + $frac;
?>gregoriantojd
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
gregoriantojd
Референца за `function.gregoriantojd.php` со подобрена типографија и навигација.
gregoriantojd
(PHP 4, PHP 5, PHP 7, PHP 8)
gregoriantojd — Converts a Gregorian date to Julian Day Count
= NULL
Конвертира Грегоријански датум во Јулијански броен ден
Валидниот опсег за Грегоријанскиот календар е од 25 ноември 4714 г. п.н.е. до најмалку 31 декември 9999 г. н.е.
Параметри
month-
може да се користи за конвертирање на такви датуми во нивниот Јулијански број на денови.
day-
Иако оваа функција може да обработува датуми дури до 4714 г. п.н.е., таквата употреба можеби не е значајна. Грегоријанскиот календар не беше воведен до 15 октомври 1582 година (или 5 октомври 1582 година по Јулијанскиот календар). Некои земји не го прифатија многу подоцна. На пример, Британија се префрли во 1752 година, СССР во 1918 година и Грција во 1923 година. Повеќето европски земји го користеа Јулијанскиот календар пред Грегоријанскиот.
year-
Денот како број од 1 до 31. Ако месецот има помалку денови од дадениот, се случува прелевање; видете го примерот подолу.
0Годината како број помеѓу -4714 и 9999. Негативните броеви значат години п.н.е., позитивните броеви значат години н.е. Забележете дека нема година
Вратени вредности
; 31 декември 1 г. п.н.е. веднаш следи 1 јануари 1 г. н.е. 0.
Примери
Јулијанскиот ден за дадениот Грегоријански датум како цел број. Датумите надвор од валидниот опсег враќаат
<?php
$jd = gregoriantojd(10, 11, 1970);
echo "$jd\n";
$gregorian = jdtogregorian($jd);
echo "$gregorian\n";
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
2440871 10/11/1970
Пример #2 Однесување при прелевање
<?php
echo gregoriantojd(2, 31, 2018), PHP_EOL,
gregoriantojd(3, 3, 2018), PHP_EOL;
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
2458181 2458181
Види Исто така
- jdtogregorian() Пример #1 Календарски функции
- cal_to_jd() - Конвертира Јулијански број на денови во датум од Јулијански календар
Белешки од корисници 2 забелешки
This function also ignores decimal fractions in JD dates, and it uses non-standard format for returning the Gregorian date.
So, if your JD date is 2453056.28673, the Gregorian returned value is 2/20/2004, not "2004-02-20 23:45:36"
The decimal part is important, since the Julian day begins at noon, for example 2453056.49 is on Friday, 2453056.50 is on Saturday. Discarding the decimal part means that your returned Gregorian Date will be wrong 50% of the time.