UNPKG

lunar-typescript-pro

Version:

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

44 lines (43 loc) 1.08 kB
import { SolarMonth } from "./SolarMonth.mjs"; export class SolarHalfYear { _year; _month; static fromYm(year, month) { return new SolarHalfYear(year, month); } static fromDate(date) { return SolarHalfYear.fromYm(date.getFullYear(), date.getMonth() + 1); } constructor(year, month) { this._year = year; this._month = month; } getYear() { return this._year; } getMonth() { return this._month; } getIndex() { return Math.ceil(this._month / 6); } next(halfYears) { const month = SolarMonth.fromYm(this._year, this._month).next(6 * halfYears); return SolarHalfYear.fromYm(month.getYear(), month.getMonth()); } getMonths() { const l = []; const index = this.getIndex() - 1; for (let i = 0; i < 6; i++) { l.push(SolarMonth.fromYm(this._year, 6 * index + i + 1)); } return l; } toString() { return `${this.getYear()}.${this.getIndex()}`; } toFullString() { const name = ["\u4E0A", "\u4E0B"][this.getIndex() - 1]; return `${this.getYear()}\u5E74${name}\u534A\u5E74`; } }