暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

PostgreSQL 基础:儒略日期 ( Julian date )的转换和使用

原创 eygle 2019-09-16
6765

众所周知,在 PostgreSQL 内部,时间的计算都是通过 Julian Date 来完成的。

那么 Julian Date 是什么?又怎样来进行 Julian Date 的基本转换和获取呢?

julian-date.jpeg

几个定义:

儒略日数(Julian Day Number,JDN)的计算是从格林威治标准时间的中午开始,包含一个整天的时间,起点的时间(0日)回溯至儒略历的公元前4713年1月1日中午12点(在格里历是公元前4714年11月24日)[1],这个日期是三种多年周期的共同起点,且是历史上最接近现代的一个起点。例如,2000年1月1日的UT12:00是儒略日2,451,545。


儒略日期(Julian date,JD)是以格林威治标准时中午12:00的儒略日加上那一天的瞬时时间的分数。儒略日期是儒略日添加小数部分所表示的儒略日数,2013年1月1日00:30:00(UT)是儒略日期2,456,293.520833 .


在数据库中查询:

enmotech=# select to_char(now(),'J');

 to_char 

---------

 2458743

(1 row)


enmotech=# select 'J2458743'::DATE;

    date    

------------

 2019-09-16

(1 row)

在 Oracle 数据库中,同样支持 Julian Date 的表示和计算:

SQL> select to_char(sysdate,'J') from dual;


TO_CHAR

-------

2458743


供参考。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论