PHP
downloads | documentation | faq | getting help | mailing lists | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

JDDayOfWeek> <FrenchToJD
Last updated: Sun, 25 Nov 2007

view this page in

GregorianToJD

(PHP 4, PHP 5)

GregorianToJD — Konvertuje Gregoriánsky dátum na Juliánske Dni

Popis

int gregoriantojd ( int $mesiac , int $den , int $rok )

Platný rozsah Gregoriánkseho kalendára je od 4714 pred n.l. po 9999 n.l.

I keď táto funkcia dokáže spracovávať dátumy až po rok 4714 pred n.l., takéto použitie nemá zmysel. Gregoriánsky kalendár nebol do 15. októbra 1582 (alebo 5. októbra 1582 v Juliánskom kalendári) zavedený. Niektoré krajiny ho neprijali ani neskoršie. Na príklad, Británia ho zaviedla v 1752, ZSSR v 1918 a Grécko v 1923. Väčšina Európskych krajín pred jeho zavedením používala Juliánsky kalendár.

Example#1 Funkcie kalendára

<?php
$jd 
GregorianToJD (10,11,1970);
echo 
"$jd\n";
$gregorian JDToGregorian ($jd);
echo 
"$gregorian\n";
?>



JDDayOfWeek> <FrenchToJD
Last updated: Sun, 25 Nov 2007
 
add a note add a note User Contributed Notes
GregorianToJD
ryker at ridgex dot net
06-Jun-2006 08:27
<?php
/*
* ComputeDateDifference(...)
*   Description:
*     Calculates the difference between two dates.
*
*   Parameter:
*     $m0, $d0, $y0   => 1. Moth/Day/Year
*     $m1, $d1, $y1   => 2. Moth/Day/Year
*
*   Return:
*     Difference between given dates in days.
*
*   Autor:
*     06.06.2006 - Christian Meyer <ryker@ridgex.net>
*/
function ComputeDateDifference($m0,$d0,$y0,$m1,$d1,$y1)
{
 
$x0 = gregoriantojd($m0,$d0,$y0);
 
$x1 = gregoriantojd($m1,$d1,$y1); 
 
 
$diff = $x1 - $x0;
 
  if (
$diff < 0)
   
$diff *= -1; // abs
   
 
return $diff;   
}
?>
jettyrat at jettyfishing dot com
17-Mar-2005 01:34
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;
?>
httpwebwitch
08-Jun-2004 04:04
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.

JDDayOfWeek> <FrenchToJD
Last updated: Sun, 25 Nov 2007
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites