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
17 年前
如果您需要一种简单的方法来将小数儒略日转换为 Unix 时间戳,您可以使用

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

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

这意味着返回的日期有一半时间是错误的,因为儒略日从 0.5 开始。注意!!
seb at carbonauts dot com
20 年前
请记住,unixtojd() 假设您的时间戳是 GMT,但 jdtounix() 返回的是本地时间的时间戳。

这让我迷惑了好几次。

所以如果你有

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

除非您的本地时间与 GMT 相同,否则 $timestamp1 将不会等于 $timestamp2。
Saeed Hubaishan
9 年前
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 时间戳表示从公历 1970 年 1 月 1 日午夜开始的秒数,而不是从儒略历开始的秒数。
To Top