有谁知道如何将今天的Julian date (2456425)转换为JDE Julian date (113133)?
谢谢
发布于 2013-05-13 23:48:42
在我看来,今天的儒略日期(至少在甲骨文看来)应该是2456426。但是,好吧,如果按照你的说法,今天(2013年5月13日)是朱利安日期2456425,那么下面的代码应该会得到你想要的:
DECLARE
nJulian NUMBER := 2456425;
nCentury NUMBER;
nYear NUMBER;
nDay NUMBER;
nJDEdate NUMBER;
BEGIN
DBMS_OUTPUT.PUT_LINE('Date=' || TO_DATE(nJulian+1, 'J'));
nCentury := TRUNC(TO_NUMBER(TO_CHAR(TO_DATE(nJulian+1, 'J'), 'YYYY')) / 100) - 19;
DBMS_OUTPUT.PUT_LINE('nCentury=' || nCentury);
nYear := TO_NUMBER(TO_CHAR(TO_DATE(nJulian+1, 'J'), 'YYYY')) -
(TRUNC(TO_NUMBER(TO_CHAR(TO_DATE(nJulian+1, 'J'), 'YYYY')) / 100) * 100);
DBMS_OUTPUT.PUT_LINE('nYear=' || nYear);
nDay := TO_NUMBER(TO_CHAR(TO_DATE(nJulian+1, 'J'), 'DDD'));
DBMS_OUTPUT.PUT_LINE('nDay=' || nDay);
nJDEdate := (nCentury * 100000) + (nYear * 1000) + nDay;
DBMS_OUTPUT.PUT_LINE('nJDEdate=' || nJDEdate);
END;分享和享受。
https://stackoverflow.com/questions/16523705
复制相似问题