UNPKG

jewish-date

Version:

Converts Gregorian dates to Hebrew dates and vice versa.

3 lines (2 loc) 1.53 kB
var E=17214255e-1,R=347995.5;function c(n,r){return n-r*Math.floor(n/r)}function H(n){return n%4===0&&!(n%100===0&&n%400!==0)}function d(n,r,t){return E-1+365*(n-1)+Math.floor((n-1)/4)+-Math.floor((n-1)/100)+Math.floor((n-1)/400)+Math.floor((367*r-362)/12+(r<=2?0:H(n)?-1:-2)+t)}function C(n){let r=Math.floor(n-.5)+.5,t=r-E,e=Math.floor(t/146097),o=c(t,146097),u=Math.floor(o/36524),s=c(o,36524),i=Math.floor(s/1461),b=c(s,1461),h=Math.floor(b/365),f=e*400+u*100+i*4+h;u===4||h===4||f++;let x=r-d(f,1,1),j=r<d(f,3,1)?0:H(f)?1:2,M=Math.floor(((x+j)*12+373)/367),O=r-d(f,M,1)+1;return[f,M,O]}function w(n){return c(n*7+1,19)<7}function g(n){return w(n)?13:12}function l(n){let r=Math.floor((235*n-234)/19),t=12084+13753*r,e=r*29+Math.floor(t/25920);return c(3*(e+1),7)<3&&e++,e}function q(n){let r=l(n-1),t=l(n);return l(n+1)-t===356?2:t-r===382?1:0}function p(n){return m(n+1,7,1)-m(n,7,1)}function a(n,r){return r===2||r===4||r===6||r===10||r===13||r===12&&!w(n)||r===8&&c(p(n),10)!==5||r===9&&c(p(n),10)===3?29:30}function m(n,r,t){let e,o=g(n),u=R+l(n)+q(n)+t+1;if(r<7){for(e=7;e<=o;e++)u+=a(n,e);for(e=1;e<r;e++)u+=a(n,e)}else for(e=7;e<r;e++)u+=a(n,e);return u}function D(n){let t,e,o=Math.floor(n)+.5,u=Math.floor((o-347995.5)*98496/35975351);t=u-1;for(let b=u;o>=m(b,7,1);b++)t++;let s=o<m(t,1,1)?7:1;e=s;for(let b=s;o>m(t,b,a(t,b));b++)e++;let i=o-m(t,e,1)+1;return[t,e,i]}export{d as gregorianToJd,a as hebrewMonthDays,m as hebrewToJd,C as jdToGregorian,D as jdToHebrew,c as mod}; //# sourceMappingURL=dateUtils.js.map