quartz net 에서는 timestamp값을 0001-01-01 00:00:00 부터 Time Tick (TotalMiliSecond * 100)값을 저장합니다.

오라클에서 Tick값을 그대로 계산해서 보면 2일이 모자라게 나타납니다.

 

아래 쿼리로 확인하면 제대로 보입니다.

 

9/24 시간을 붙힌 이유는 대한민국 Timezone 시간을 덧 붙혀서 계산해야 제대로 보입니다.


select to_date('1970-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS') +
       (
          (LAST_CHECKIN_TIME - 621355968000000000 ) -- (now ticks - UNIX epoch in CLR ticks)
            /10000000 -- CLR ticks per second
        )/60/60/24 + 9/24 -- convert from seconds to days for date addition arithmetic
as date_from_ticks
from QRTZ_SCHEDULER_STATE;

 

 

아래처럼 해도 결과는 동일합니다.

SELECT to_date('0001-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS') +
       (LAST_CHECKIN_TIME / (10000000 * 60 * 60 * 24)) + 2 + (9/24)
as date_from_ticks
from QRTZ_SCHEDULER_STATE;

 

Time Tick값을 DateTime으로 변경

 

참고:

https://stackoverflow.com/questions/20052643/date-math-in-oracle-related-to-net-ticks

+ Recent posts