2024 PHP 研討會日本

jdtounix

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

jdtounix將儒略日轉換為 Unix 時間戳記

說明

jdtounix(int $julian_day): int

此函式將傳回與 julian_day 中給定的儒略日相對應的 Unix 時間戳記。傳回的時間是 UTC。

參數

julian_day

在 64 位元系統上,儒略日數值介於 2440588106751993607888 之間;在 32 位元系統上,則介於 24405882465443 之間。

回傳值

給定儒略日的 Unix 時間戳記(午夜零時,而非正午)

錯誤/例外

如果 julian_day 超出允許範圍,則會拋出 ValueError

更新日誌

版本 說明
8.0.0 此函數在失敗時不再返回 false,而是拋出 ValueError
7.3.24, 7.4.12 julian_day 的上限已擴展。先前,無論架構為何,上限皆為 2465342

另請參閱

  • unixtojd() - 將 Unix 時間戳記轉換為儒略日

新增筆記

使用者貢獻的筆記 5 則筆記

fabio at llgp dot org
18 年前
如果您需要一種簡單的方法將小數儒略日轉換為 Unix 時間戳記,您可以使用

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

2440587.5 是 1970 年 1 月 1 日 0:00 UTC 的儒略日
86400 是一天中的秒數
匿名
19 年前
警告:涉及儒略日操作的日曆函數似乎忽略了儒略日計數的小數部分。

這意味著返回的日期在 50% 的情況下是錯誤的,因為儒略日從小數 .5 開始。請注意!
seb at carbonauts dot com
21 年前
請記住,unixtojd() 假設您的時間戳記是 GMT 時間,但 jdtounix() 返回的是當地時間的時間戳記。

這讓我幾次都搞錯了。

所以如果您有

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

除非您的當地時間與 GMT 時間相同,否則 $timestamp1 將不等於 $timestamp2。
Saeed Hubaishan
10 年前
unixtojd() 假設您的時間戳記是 GMT 時間,但 jdtounix() 返回的是當地時間的時間戳記。
所以
<?php
$d1
=jdtogregorian(unixtojd(time()));
$d2= gmdate("m/d/Y");
$d3=date("m/d/Y");
?>
$d1 永遠等於 $d2,但 $d1 可能與 $d3 不同
pipian at pipian dot com
21 年前
請記住,UNIX 時間戳記表示從格里高利曆(Gregorian calendar)1970 年 1 月 1 日午夜算起的秒數,而不是儒略曆(Julian Calendar)。
To Top