SymfonyWorld Online 2022 Winter Edition

jdtounix

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

jdtounixJülyen Gün Sayısını, Unix zaman damgasına çevirir

Açıklama

jdtounix(int $julyen_gunu): int

İşlev julyengunu'ne karşılık gelen Unix zaman damgasını döndürür. Zaman UTC'ye göredir.

Değiştirgeler

julyen_gunu

32 bit için 2440588 ve 2465443, 64 bit için 2440588 ve 106751993607888 aralığında Jülyen gün sayısı.

Dönen Değerler

Jülyen Gün Sayısına karşılık gelen günün başlangıcı (geceyarısı) için Unix zaman damgası.

Hatalar/İstisnalar

julyen_gunu izin verilen aralığın dışındaysa bir ValueError yavrulanır.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 Bu işlev başarısızlık durumunda artık false döndürmüyor, bir ValueError yavruluyor.
7.3.24, 7.4.12 julyen_gunu için üst sınır genişletildi. Evvelce, mimariye bakılmaksızın 2465342 idi.

Ayrıca Bakınız

  • unixtojd() - Unix zaman damgasını, Jülyen Gün Sayısına çevirir

add a note

User Contributed Notes 5 notes

up
5
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
up
3
Anonymous
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!!
up
0
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.
up
0
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.
up
-2
Saeed Hubaishan
7 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
To Top