lunar-typescript-pro
Version:
lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.
47 lines (46 loc) • 1.04 kB
JavaScript
import { LunarUtil } from "./LunarUtil.mjs";
export class XiaoYun {
_year;
_age;
_index;
_daYun;
_lunar;
_forward;
constructor(daYun, index, forward) {
this._year = daYun.getStartYear() + index;
this._age = daYun.getStartAge() + index;
this._index = index;
this._daYun = daYun;
this._lunar = daYun.getLunar();
this._forward = forward;
}
getYear() {
return this._year;
}
getAge() {
return this._age;
}
getIndex() {
return this._index;
}
getGanZhi() {
let offset = LunarUtil.getJiaZiIndex(this._lunar.getTimeInGanZhi());
let add = this._index + 1;
if (this._daYun.getIndex() > 0) {
add += this._daYun.getStartAge() - 1;
}
offset += this._forward ? add : -add;
const size = LunarUtil.JIA_ZI.length;
while (offset < 0) {
offset += size;
}
offset %= size;
return LunarUtil.JIA_ZI[offset];
}
getXun() {
return LunarUtil.getXun(this.getGanZhi());
}
getXunKong() {
return LunarUtil.getXunKong(this.getGanZhi());
}
}