carbonjs
Version:
Javascript date library alternative to Moment.js with the same modern API
1 lines • 778 B
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});const o=require("./astro");exports.leap_gregorian=(o=>o%100==0?o%400==0:o%4==0);exports.gregorian_to_jd=((o,r,t)=>1721424.5+365*(o-1)+Math.floor((o-1)/4)+-Math.floor((o-1)/100)+Math.floor((o-1)/400)+Math.floor((367*r-362)/12+(r<=2?0:exports.leap_gregorian(o)?-1:-2)+t)),exports.jd_to_gregorian=(r=>{const t=Math.floor(r-.5)+.5,e=t-1721425.5,a=Math.floor(e/146097),g=o.mod(e,146097),l=Math.floor(g/36524),s=o.mod(g,36524),_=Math.floor(s/1461),n=o.mod(s,1461),p=Math.floor(n/365);let f=400*a+100*l+4*_+p;4!==l&&4!==p&&f++;const i=t-exports.gregorian_to_jd(f,1,1),M=t<exports.gregorian_to_jd(f,3,1)?0:exports.leap_gregorian(f)?1:2,d=Math.floor((12*(i+M)+373)/367);return[f,d,t-exports.gregorian_to_jd(f,d,1)+1]});