UNPKG

lunar-typescript-pro

Version:

lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.

47 lines (46 loc) 1.04 kB
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()); } }