UNPKG

lunar-typescript-optimize

Version:

A TypeScript library for Solar and Chinese Lunar calendar calculations, with optimized build and browser compatibility

43 lines (42 loc) 1.02 kB
import { SolarMonth } from "./SolarMonth.mjs"; export class SolarSeason { _year; _month; static fromYm(year, month) { return new SolarSeason(year, month); } static fromDate(date) { return SolarSeason.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 / 3); } next(seasons) { const month = SolarMonth.fromYm(this._year, this._month).next(3 * seasons); return SolarSeason.fromYm(month.getYear(), month.getMonth()); } getMonths() { const l = []; const index = this.getIndex() - 1; for (let i = 0; i < 3; i++) { l.push(SolarMonth.fromYm(this._year, 3 * index + i + 1)); } return l; } toString() { return `${this.getYear()}.${this.getIndex()}`; } toFullString() { return `${this.getYear()}\u5E74${this.getIndex()}\u5B63\u5EA6`; } }