ConFoo 2025

jdtounix

(PHP 4, PHP 5, PHP 7, PHP 8)

jdtounixConvertit un jour Julien en timestamp UNIX

Description

jdtounix(int $julian_day): int

Retourne un timestamp UNIX correspondant au jour Julien julian_day ou false si julian_day n'est pas dans l'intervalle autorisé. Le temps retourné est UTC.

Liste de paramètres

julian_day

Le nombre de jours Julien, compris entre 2440588 et 106751993607888 sur les systèmes 64bit, ou compris entre 2440588 et 2465443 sur les systèmes 32bit.

Valeurs de retour

Le timestamp unix pour le début (minuit, pas midi) du jour Julien donné.

Erreurs / Exceptions

Si julian_day est hors de l'intervalle autorisé, une ValueError est lancé.

Historique

Version Description
8.0.0 Cette fonction ne retourne désormais plus false en cas d'échec, mais lève une ValueError à la place.
7.3.24, 7.4.12 La limite supérieure du paramètre julian_day a été étendue. Avant, elle était de 2465342 suivant l'architecture.

Voir aussi

  • unixtojd() - Convertit un timestamp UNIX en un jour Julien

add a note

User Contributed Notes 5 notes

up
7
fabio at llgp dot org
18 years ago
If you need an easy way to convert a decimal julian day to an unix timestamp you can use:

$unixTimeStamp = ($julianDay - 2440587.5) * 86400;

2440587.5 is the julian day at 1/1/1970 0:00 UTC
86400 is the number of seconds in a day
up
3
Anonymous
19 years ago
Warning: the calender functions involving julian day operations seem to ignore the decimal part of the julian day count.

This means that the returned date is wrong 50% of the time, since a julian day starts at decimal .5 . Take care!!
up
0
seb at carbonauts dot com
21 years ago
Remember that unixtojd() assumes your timestamp is in GMT, but jdtounix() returns a timestamp in localtime.

This fooled me a few times.

So if you have:

$timestamp1 = time();
$timestamp2 = jdtounix(unixtojd($timestamp1));

Unless your localtime is the same as GMT, $timestamp1 will not equal $timestamp2.
up
-2
Saeed Hubaishan
10 years ago
unixtojd() assumes that your timestamp is in GMT, but jdtounix() returns a timestamp in localtime.
so
<?php
$d1
=jdtogregorian(unixtojd(time()));
$d2= gmdate("m/d/Y");
$d3=date("m/d/Y");
?>
$d1 always equals $d2 but $d1 may differ from $d3
up
-2
pipian at pipian dot com
21 years ago
Remember that UNIX timestamps indicate a number of seconds from midnight of January 1, 1970 on the Gregorian calendar, not the Julian Calendar.
To Top