2012-08-30 2 views
0

Voici un exemple de PHP à partir de la date Julian date grégorienne:Comment convertir un jour julien (pas une date) et une année grégorienne en une date grégorienne avec PHP?

$jd = gregoriantojd(10,3,1975); 
echo($jd . "<br />"); 

$gregorian = jdtogregorian($jd); 
echo($gregorian); 

Output: 
2442689 
10/3/1975 

Cela fonctionne si vous avez la date complète Julian, mais si vous avez seulement un jour Julien comme « 254 » et l'année « 2012 '? Comment arrivez-vous à une date grégorienne avec juste le jour julien et l'année grégorienne avec PHP?

est ici un graphique de jours Julian:

http://landweb.nascom.nasa.gov/browse/calendar.html

Est-ce possible avec PHP?

Edit: Sur la base des réponses, voici ce que je suis venu avec, bien qu'il puisse y avoir un moyen plus facile:

$JulianDay = 77; 
$Year = 1977; 
$DateYear = date("Y/m/d", mktime(0, 0, 0, 1, 1, $Year)); 
$GregDate = new DateTime($DateYear); 
$GregDate->modify("+$JulianDay day"); 
$Date = $GregDate->format('Y/m/d'); 
echo $Date; // '1977/03/19' 

Répondre

1
echo jdtogregorian(gregoriantojd(01, 01, 2012)+253); 

Si 254 en 2012 est de 10 Septembre (il semble que cela de votre lien) ça fonctionne bien.

+0

C'était hors d'un jour pour une raison quelconque ... ne pouvait pas comprendre pourquoi si. Merci bien que cela m'a aidé à décoller. – user1636317

+0

Mon code génère la date julienne pour le premier janvier de l'année donnée. Puisque le premier janvier est toujours 1 en julien, vous devez soustraire 1 de votre jour julien avant l'addition pour obtenir le résultat correct. Je suis content que je puisse aider; vous pouvez accepter ma réponse pour montrer votre gratitude;) – aswyx

0
$date = strtotime('+'.YourDay.' days', mktime(0, 0, 0, 0, 0, YourYear)); 

strtotime est et la fonction incroyable

+0

Ce était éteint pour une raison quelconque ... ne pouvait pas comprendre pourquoi, mais probablement erreur de l'utilisateur. Merci quand même! – user1636317

Questions connexes