lunar-typescript
Version:
lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.
27 lines (26 loc) • 752 B
JavaScript
import { LunarUtil } from "./LunarUtil.mjs";
export class LiuYue {
constructor(liuNian, index) {
this._liuNian = liuNian;
this._index = index;
}
getIndex() {
return this._index;
}
getMonthInChinese() {
return LunarUtil.MONTH[this._index + 1];
}
getGanZhi() {
const yearGanIndex = LunarUtil.find(this._liuNian.getGanZhi(), LunarUtil.GAN).index - 1;
const offset = [2, 4, 6, 8, 0][yearGanIndex % 5];
const gan = LunarUtil.GAN[(this._index + offset) % 10 + 1];
const zhi = LunarUtil.ZHI[(this._index + LunarUtil.BASE_MONTH_ZHI_INDEX) % 12 + 1];
return gan + zhi;
}
getXun() {
return LunarUtil.getXun(this.getGanZhi());
}
getXunKong() {
return LunarUtil.getXunKong(this.getGanZhi());
}
}