PHP 8.2.0 Alpha 2 available for testing


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

jdtounix Переводит число дней в юлианском летоисчислении в метку времени Unix


jdtounix(int $julian_day): int

Эта функция вернёт метку времени Unix, соответствующую номеру дня в юлианском летоисчислении, заданному в julian_day. Будет возвращено UTC.

Список параметров


Номер дня в юлианском летоисчислении между 2440588 и 106751993607888 в 64-битных системах или между 2440588 и 2465443 в 32-битных системах.

Возвращаемые значения

Метка времени Unix на момент начала (полночь) юлианского дня.


Если julian_day находится за пределами допустимого диапазона, выбрасывается ValueError.

Список изменений

Версия Описание
8.0.0 Функция больше не возвращает false в случае возникновения ошибки, вместо этого выбрасывает ValueError.
7.3.24, 7.4.12 Увеличен верхний предел julian_day. Раньше он был 2465342 независимо от архитектуры.

Смотрите также

  • unixtojd() - Переводит метку времени Unix в юлианский день

add a note add a note

User Contributed Notes 5 notes

fabio at llgp dot org
15 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
17 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!!
seb at carbonauts dot com
18 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.
pipian at pipian dot com
19 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.
Saeed Hubaishan
7 years ago
unixtojd() assumes that your timestamp is in GMT, but jdtounix() returns a timestamp in localtime.
$d2= gmdate("m/d/Y");
$d1 always equals $d2 but $d1 may differ from $d3
To Top