UNPKG

ilib

Version:

iLib is a cross-engine library of internationalization (i18n) classes written in pure JS

1 lines 1.16 kB
var ilib=require("./ilib.js");var MathUtils=require("./MathUtils.js");var GregorianCal=require("./GregorianCal.js");var RataDie=require("./RataDie.js");var GregRataDie=function(a){this.cal=a&&a.cal||new GregorianCal;this.rd=undefined;RataDie.call(this,a)};GregRataDie.prototype=new RataDie;GregRataDie.prototype.parent=RataDie;GregRataDie.prototype.constructor=GregRataDie;GregRataDie.cumMonthLengths=[0,31,59,90,120,151,181,212,243,273,304,334,365];GregRataDie.cumMonthLengthsLeap=[0,31,60,91,121,152,182,213,244,274,305,335,366];GregRataDie.prototype._setDateComponents=function(a){var e=parseInt(a.year,10)||0;var r=parseInt(a.month,10)||1;var t=parseInt(a.day,10)||1;var i=parseInt(a.hour,10)||0;var o=parseInt(a.minute,10)||0;var n=parseInt(a.second,10)||0;var s=parseInt(a.millisecond,10)||0;var p=365*(e-1)+Math.floor((e-1)/4)-Math.floor((e-1)/100)+Math.floor((e-1)/400);var l=(r>1?GregRataDie.cumMonthLengths[r-1]:0)+t+(GregorianCal.prototype.isLeapYear.call(this.cal,e)&&r>2?1:0);var h=(i*36e5+o*6e4+n*1e3+s)/864e5;this.rd=p+l+h};GregRataDie.prototype._onOrBefore=function(a,e){return a-MathUtils.mod(Math.floor(a)-e,7)};module.exports=GregRataDie;