ilib
Version:
iLib is a cross-engine library of internationalization (i18n) classes written in pure JS
1 lines • 975 B
JavaScript
var MathUtils=require("./MathUtils.js");var PersianAlgoCal=require("./PersianAlgoCal.js");var RataDie=require("./RataDie.js");var PersAlgoRataDie=function(e){this.cal=e&&e.cal||new PersianAlgoCal;this.rd=undefined;RataDie.call(this,e)};PersAlgoRataDie.prototype=new RataDie;PersAlgoRataDie.prototype.parent=RataDie;PersAlgoRataDie.prototype.constructor=PersAlgoRataDie;PersAlgoRataDie.prototype.epoch=1948319.5;PersAlgoRataDie.cumMonthLengths=[0,31,62,93,124,155,186,216,246,276,306,336,365];PersAlgoRataDie.prototype._setDateComponents=function(e){var a=this.cal.equivalentCycleYear(e.year);var t=e.year-(e.year>=0?474:473);var r=1029983*Math.floor(t/2820)+365*(a-1)+Math.floor((682*a-110)/2816);var o=(e.month>1?PersAlgoRataDie.cumMonthLengths[e.month-1]:0)+e.day;var i=(e.hour*36e5+e.minute*6e4+e.second*1e3+e.millisecond)/864e5;this.rd=r+o+i};PersAlgoRataDie.prototype._onOrBefore=function(e,a){return e-MathUtils.mod(Math.floor(e)-a-3,7)};module.exports=PersAlgoRataDie;