lunar-typescript
Version:
lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.
1,258 lines (1,255 loc) • 421 kB
JavaScript
'use strict';
const _SolarUtil = class {
static isLeapYear(year) {
if (year < 1600) {
return year % 4 === 0;
}
return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
}
static getDaysOfMonth(year, month) {
if (1582 === year && 10 === month) {
return 21;
}
const m = month - 1;
let d = _SolarUtil.DAYS_OF_MONTH[m];
if (m === 1 && _SolarUtil.isLeapYear(year)) {
d++;
}
return d;
}
static getDaysOfYear(year) {
if (1582 === year) {
return 355;
}
return _SolarUtil.isLeapYear(year) ? 366 : 365;
}
static getDaysInYear(year, month, day) {
let days = 0;
for (let i = 1; i < month; i++) {
days += _SolarUtil.getDaysOfMonth(year, i);
}
let d = day;
if (1582 === year && 10 === month && day >= 15) {
if (day >= 15) {
d -= 10;
} else if (day > 4) {
throw new Error(`wrong solar year ${year} month ${month} day ${day}`);
}
}
days += d;
return days;
}
static getWeeksOfMonth(year, month, start) {
return Math.ceil((_SolarUtil.getDaysOfMonth(year, month) + Solar.fromYmd(year, month, 1).getWeek() - start) / 7);
}
static getDaysBetween(ay, am, ad, by, bm, bd) {
let n;
let days;
let i;
if (ay == by) {
n = _SolarUtil.getDaysInYear(by, bm, bd) - _SolarUtil.getDaysInYear(ay, am, ad);
} else if (ay > by) {
days = _SolarUtil.getDaysOfYear(by) - _SolarUtil.getDaysInYear(by, bm, bd);
for (i = by + 1; i < ay; i++) {
days += _SolarUtil.getDaysOfYear(i);
}
days += _SolarUtil.getDaysInYear(ay, am, ad);
n = -days;
} else {
days = _SolarUtil.getDaysOfYear(ay) - _SolarUtil.getDaysInYear(ay, am, ad);
for (i = ay + 1; i < by; i++) {
days += _SolarUtil.getDaysOfYear(i);
}
days += _SolarUtil.getDaysInYear(by, bm, bd);
n = days;
}
return n;
}
};
let SolarUtil = _SolarUtil;
SolarUtil.WEEK = ["{w.sun}", "{w.mon}", "{w.tues}", "{w.wed}", "{w.thur}", "{w.fri}", "{w.sat}"];
SolarUtil.DAYS_OF_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
SolarUtil.XINGZUO = ["{xz.aries}", "{xz.taurus}", "{xz.gemini}", "{xz.cancer}", "{xz.leo}", "{xz.virgo}", "{xz.libra}", "{xz.scorpio}", "{xz.sagittarius}", "{xz.capricornus}", "{xz.aquarius}", "{xz.pisces}"];
SolarUtil.FESTIVAL = {
"1-1": "{jr.yuanDan}",
"2-14": "{jr.qingRen}",
"3-8": "{jr.fuNv}",
"3-12": "{jr.zhiShu}",
"3-15": "{jr.xiaoFei}",
"4-1": "{jr.yuRen}",
"5-1": "{jr.wuYi}",
"5-4": "{jr.qingNian}",
"6-1": "{jr.erTong}",
"7-1": "{jr.jianDang}",
"8-1": "{jr.jianJun}",
"9-10": "{jr.jiaoShi}",
"10-1": "{jr.guoQing}",
"10-31": "{jr.wanShengYe}",
"11-1": "{jr.wanSheng}",
"12-24": "{jr.pingAn}",
"12-25": "{jr.shengDan}"
};
SolarUtil.OTHER_FESTIVAL = {
"1-8": ["\u5468\u6069\u6765\u901D\u4E16\u7EAA\u5FF5\u65E5"],
"1-10": ["\u4E2D\u56FD\u4EBA\u6C11\u8B66\u5BDF\u8282"],
"1-14": ["\u65E5\u8BB0\u60C5\u4EBA\u8282"],
"1-21": ["\u5217\u5B81\u901D\u4E16\u7EAA\u5FF5\u65E5"],
"1-26": ["\u56FD\u9645\u6D77\u5173\u65E5"],
"1-27": ["\u56FD\u9645\u5927\u5C60\u6740\u7EAA\u5FF5\u65E5"],
"2-2": ["\u4E16\u754C\u6E7F\u5730\u65E5"],
"2-4": ["\u4E16\u754C\u6297\u764C\u65E5"],
"2-7": ["\u4EAC\u6C49\u94C1\u8DEF\u7F62\u5DE5\u7EAA\u5FF5\u65E5"],
"2-10": ["\u56FD\u9645\u6C14\u8C61\u8282"],
"2-19": ["\u9093\u5C0F\u5E73\u901D\u4E16\u7EAA\u5FF5\u65E5"],
"2-20": ["\u4E16\u754C\u793E\u4F1A\u516C\u6B63\u65E5"],
"2-21": ["\u56FD\u9645\u6BCD\u8BED\u65E5"],
"2-24": ["\u7B2C\u4E09\u4E16\u754C\u9752\u5E74\u65E5"],
"3-1": ["\u56FD\u9645\u6D77\u8C79\u65E5"],
"3-3": ["\u4E16\u754C\u91CE\u751F\u52A8\u690D\u7269\u65E5", "\u5168\u56FD\u7231\u8033\u65E5"],
"3-5": ["\u5468\u6069\u6765\u8BDE\u8FB0\u7EAA\u5FF5\u65E5", "\u4E2D\u56FD\u9752\u5E74\u5FD7\u613F\u8005\u670D\u52A1\u65E5"],
"3-6": ["\u4E16\u754C\u9752\u5149\u773C\u65E5"],
"3-7": ["\u5973\u751F\u8282"],
"3-12": ["\u5B59\u4E2D\u5C71\u901D\u4E16\u7EAA\u5FF5\u65E5"],
"3-14": ["\u9A6C\u514B\u601D\u901D\u4E16\u7EAA\u5FF5\u65E5", "\u767D\u8272\u60C5\u4EBA\u8282"],
"3-17": ["\u56FD\u9645\u822A\u6D77\u65E5"],
"3-18": ["\u5168\u56FD\u79D1\u6280\u4EBA\u624D\u6D3B\u52A8\u65E5", "\u5168\u56FD\u7231\u809D\u65E5"],
"3-20": ["\u56FD\u9645\u5E78\u798F\u65E5"],
"3-21": ["\u4E16\u754C\u68EE\u6797\u65E5", "\u4E16\u754C\u7761\u7720\u65E5", "\u56FD\u9645\u6D88\u9664\u79CD\u65CF\u6B67\u89C6\u65E5"],
"3-22": ["\u4E16\u754C\u6C34\u65E5"],
"3-23": ["\u4E16\u754C\u6C14\u8C61\u65E5"],
"3-24": ["\u4E16\u754C\u9632\u6CBB\u7ED3\u6838\u75C5\u65E5"],
"3-29": ["\u4E2D\u56FD\u9EC4\u82B1\u5C97\u4E03\u5341\u4E8C\u70C8\u58EB\u6B89\u96BE\u7EAA\u5FF5\u65E5"],
"4-2": ["\u56FD\u9645\u513F\u7AE5\u56FE\u4E66\u65E5", "\u4E16\u754C\u81EA\u95ED\u75C7\u65E5"],
"4-4": ["\u56FD\u9645\u5730\u96F7\u884C\u52A8\u65E5"],
"4-7": ["\u4E16\u754C\u536B\u751F\u65E5"],
"4-8": ["\u56FD\u9645\u73CD\u7A00\u52A8\u7269\u4FDD\u62A4\u65E5"],
"4-12": ["\u4E16\u754C\u822A\u5929\u65E5"],
"4-14": ["\u9ED1\u8272\u60C5\u4EBA\u8282"],
"4-15": ["\u5168\u6C11\u56FD\u5BB6\u5B89\u5168\u6559\u80B2\u65E5"],
"4-22": ["\u4E16\u754C\u5730\u7403\u65E5", "\u5217\u5B81\u8BDE\u8FB0\u7EAA\u5FF5\u65E5"],
"4-23": ["\u4E16\u754C\u8BFB\u4E66\u65E5"],
"4-24": ["\u4E2D\u56FD\u822A\u5929\u65E5"],
"4-25": ["\u513F\u7AE5\u9884\u9632\u63A5\u79CD\u5BA3\u4F20\u65E5"],
"4-26": ["\u4E16\u754C\u77E5\u8BC6\u4EA7\u6743\u65E5", "\u5168\u56FD\u759F\u75BE\u65E5"],
"4-28": ["\u4E16\u754C\u5B89\u5168\u751F\u4EA7\u4E0E\u5065\u5EB7\u65E5"],
"4-30": ["\u5168\u56FD\u4EA4\u901A\u5B89\u5168\u53CD\u601D\u65E5"],
"5-2": ["\u4E16\u754C\u91D1\u67AA\u9C7C\u65E5"],
"5-3": ["\u4E16\u754C\u65B0\u95FB\u81EA\u7531\u65E5"],
"5-5": ["\u9A6C\u514B\u601D\u8BDE\u8FB0\u7EAA\u5FF5\u65E5"],
"5-8": ["\u4E16\u754C\u7EA2\u5341\u5B57\u65E5"],
"5-11": ["\u4E16\u754C\u80A5\u80D6\u65E5"],
"5-12": ["\u5168\u56FD\u9632\u707E\u51CF\u707E\u65E5", "\u62A4\u58EB\u8282"],
"5-14": ["\u73AB\u7470\u60C5\u4EBA\u8282"],
"5-15": ["\u56FD\u9645\u5BB6\u5EAD\u65E5"],
"5-19": ["\u4E2D\u56FD\u65C5\u6E38\u65E5"],
"5-20": ["\u7F51\u7EDC\u60C5\u4EBA\u8282"],
"5-22": ["\u56FD\u9645\u751F\u7269\u591A\u6837\u6027\u65E5"],
"5-25": ["525\u5FC3\u7406\u5065\u5EB7\u8282"],
"5-27": ["\u4E0A\u6D77\u89E3\u653E\u65E5"],
"5-29": ["\u56FD\u9645\u7EF4\u548C\u4EBA\u5458\u65E5"],
"5-30": ["\u4E2D\u56FD\u4E94\u5345\u8FD0\u52A8\u7EAA\u5FF5\u65E5"],
"5-31": ["\u4E16\u754C\u65E0\u70DF\u65E5"],
"6-3": ["\u4E16\u754C\u81EA\u884C\u8F66\u65E5"],
"6-5": ["\u4E16\u754C\u73AF\u5883\u65E5"],
"6-6": ["\u5168\u56FD\u7231\u773C\u65E5"],
"6-8": ["\u4E16\u754C\u6D77\u6D0B\u65E5"],
"6-11": ["\u4E2D\u56FD\u4EBA\u53E3\u65E5"],
"6-14": ["\u4E16\u754C\u732E\u8840\u65E5", "\u4EB2\u4EB2\u60C5\u4EBA\u8282"],
"6-17": ["\u4E16\u754C\u9632\u6CBB\u8352\u6F20\u5316\u4E0E\u5E72\u65F1\u65E5"],
"6-20": ["\u4E16\u754C\u96BE\u6C11\u65E5"],
"6-21": ["\u56FD\u9645\u745C\u4F3D\u65E5"],
"6-25": ["\u5168\u56FD\u571F\u5730\u65E5"],
"6-26": ["\u56FD\u9645\u7981\u6BD2\u65E5", "\u8054\u5408\u56FD\u5BAA\u7AE0\u65E5"],
"7-1": ["\u9999\u6E2F\u56DE\u5F52\u7EAA\u5FF5\u65E5"],
"7-6": ["\u56FD\u9645\u63A5\u543B\u65E5", "\u6731\u5FB7\u901D\u4E16\u7EAA\u5FF5\u65E5"],
"7-7": ["\u4E03\u4E03\u4E8B\u53D8\u7EAA\u5FF5\u65E5"],
"7-11": ["\u4E16\u754C\u4EBA\u53E3\u65E5", "\u4E2D\u56FD\u822A\u6D77\u65E5"],
"7-14": ["\u94F6\u8272\u60C5\u4EBA\u8282"],
"7-18": ["\u66FC\u5FB7\u62C9\u56FD\u9645\u65E5"],
"7-30": ["\u56FD\u9645\u53CB\u8C0A\u65E5"],
"8-3": ["\u7537\u4EBA\u8282"],
"8-5": ["\u6069\u683C\u65AF\u901D\u4E16\u7EAA\u5FF5\u65E5"],
"8-6": ["\u56FD\u9645\u7535\u5F71\u8282"],
"8-8": ["\u5168\u6C11\u5065\u8EAB\u65E5"],
"8-9": ["\u56FD\u9645\u571F\u8457\u4EBA\u65E5"],
"8-12": ["\u56FD\u9645\u9752\u5E74\u8282"],
"8-14": ["\u7EFF\u8272\u60C5\u4EBA\u8282"],
"8-19": ["\u4E16\u754C\u4EBA\u9053\u4E3B\u4E49\u65E5", "\u4E2D\u56FD\u533B\u5E08\u8282"],
"8-22": ["\u9093\u5C0F\u5E73\u8BDE\u8FB0\u7EAA\u5FF5\u65E5"],
"8-29": ["\u5168\u56FD\u6D4B\u7ED8\u6CD5\u5BA3\u4F20\u65E5"],
"9-3": ["\u4E2D\u56FD\u6297\u65E5\u6218\u4E89\u80DC\u5229\u7EAA\u5FF5\u65E5"],
"9-5": ["\u4E2D\u534E\u6148\u5584\u65E5"],
"9-8": ["\u4E16\u754C\u626B\u76F2\u65E5"],
"9-9": ["\u6BDB\u6CFD\u4E1C\u901D\u4E16\u7EAA\u5FF5\u65E5", "\u5168\u56FD\u62D2\u7EDD\u9152\u9A7E\u65E5"],
"9-14": ["\u4E16\u754C\u6E05\u6D01\u5730\u7403\u65E5", "\u76F8\u7247\u60C5\u4EBA\u8282"],
"9-15": ["\u56FD\u9645\u6C11\u4E3B\u65E5"],
"9-16": ["\u56FD\u9645\u81ED\u6C27\u5C42\u4FDD\u62A4\u65E5"],
"9-17": ["\u4E16\u754C\u9A91\u884C\u65E5"],
"9-18": ["\u4E5D\u4E00\u516B\u4E8B\u53D8\u7EAA\u5FF5\u65E5"],
"9-20": ["\u5168\u56FD\u7231\u7259\u65E5"],
"9-21": ["\u56FD\u9645\u548C\u5E73\u65E5"],
"9-27": ["\u4E16\u754C\u65C5\u6E38\u65E5"],
"9-30": ["\u4E2D\u56FD\u70C8\u58EB\u7EAA\u5FF5\u65E5"],
"10-1": ["\u56FD\u9645\u8001\u5E74\u4EBA\u65E5"],
"10-2": ["\u56FD\u9645\u975E\u66B4\u529B\u65E5"],
"10-4": ["\u4E16\u754C\u52A8\u7269\u65E5"],
"10-11": ["\u56FD\u9645\u5973\u7AE5\u65E5"],
"10-10": ["\u8F9B\u4EA5\u9769\u547D\u7EAA\u5FF5\u65E5"],
"10-13": ["\u56FD\u9645\u51CF\u8F7B\u81EA\u7136\u707E\u5BB3\u65E5", "\u4E2D\u56FD\u5C11\u5E74\u5148\u950B\u961F\u8BDE\u8FB0\u65E5"],
"10-14": ["\u8461\u8404\u9152\u60C5\u4EBA\u8282"],
"10-16": ["\u4E16\u754C\u7CAE\u98DF\u65E5"],
"10-17": ["\u5168\u56FD\u6276\u8D2B\u65E5"],
"10-20": ["\u4E16\u754C\u7EDF\u8BA1\u65E5"],
"10-24": ["\u4E16\u754C\u53D1\u5C55\u4FE1\u606F\u65E5", "\u7A0B\u5E8F\u5458\u8282"],
"10-25": ["\u6297\u7F8E\u63F4\u671D\u7EAA\u5FF5\u65E5"],
"11-5": ["\u4E16\u754C\u6D77\u5578\u65E5"],
"11-8": ["\u8BB0\u8005\u8282"],
"11-9": ["\u5168\u56FD\u6D88\u9632\u65E5"],
"11-11": ["\u5149\u68CD\u8282"],
"11-12": ["\u5B59\u4E2D\u5C71\u8BDE\u8FB0\u7EAA\u5FF5\u65E5"],
"11-14": ["\u7535\u5F71\u60C5\u4EBA\u8282"],
"11-16": ["\u56FD\u9645\u5BBD\u5BB9\u65E5"],
"11-17": ["\u56FD\u9645\u5927\u5B66\u751F\u8282"],
"11-19": ["\u4E16\u754C\u5395\u6240\u65E5"],
"11-28": ["\u6069\u683C\u65AF\u8BDE\u8FB0\u7EAA\u5FF5\u65E5"],
"11-29": ["\u56FD\u9645\u58F0\u63F4\u5DF4\u52D2\u65AF\u5766\u4EBA\u6C11\u65E5"],
"12-1": ["\u4E16\u754C\u827E\u6ECB\u75C5\u65E5"],
"12-2": ["\u5168\u56FD\u4EA4\u901A\u5B89\u5168\u65E5"],
"12-3": ["\u4E16\u754C\u6B8B\u75BE\u4EBA\u65E5"],
"12-4": ["\u5168\u56FD\u6CD5\u5236\u5BA3\u4F20\u65E5"],
"12-5": ["\u4E16\u754C\u5F31\u80FD\u4EBA\u58EB\u65E5", "\u56FD\u9645\u5FD7\u613F\u4EBA\u5458\u65E5"],
"12-7": ["\u56FD\u9645\u6C11\u822A\u65E5"],
"12-9": ["\u4E16\u754C\u8DB3\u7403\u65E5", "\u56FD\u9645\u53CD\u8150\u8D25\u65E5"],
"12-10": ["\u4E16\u754C\u4EBA\u6743\u65E5"],
"12-11": ["\u56FD\u9645\u5C71\u5CB3\u65E5"],
"12-12": ["\u897F\u5B89\u4E8B\u53D8\u7EAA\u5FF5\u65E5"],
"12-13": ["\u56FD\u5BB6\u516C\u796D\u65E5"],
"12-14": ["\u62E5\u62B1\u60C5\u4EBA\u8282"],
"12-18": ["\u56FD\u9645\u79FB\u5F99\u8005\u65E5"],
"12-26": ["\u6BDB\u6CFD\u4E1C\u8BDE\u8FB0\u7EAA\u5FF5\u65E5"]
};
SolarUtil.WEEK_FESTIVAL = {
"3-0-1": "\u5168\u56FD\u4E2D\u5C0F\u5B66\u751F\u5B89\u5168\u6559\u80B2\u65E5",
"5-2-0": "\u6BCD\u4EB2\u8282",
"5-3-0": "\u5168\u56FD\u52A9\u6B8B\u65E5",
"6-3-0": "\u7236\u4EB2\u8282",
"9-3-6": "\u5168\u6C11\u56FD\u9632\u6559\u80B2\u65E5",
"10-1-1": "\u4E16\u754C\u4F4F\u623F\u65E5",
"11-4-4": "\u611F\u6069\u8282"
};
class SolarWeek {
static fromYmd(year, month, day, start) {
return new SolarWeek(year, month, day, start);
}
static fromDate(date, start) {
return SolarWeek.fromYmd(date.getFullYear(), date.getMonth() + 1, date.getDate(), start);
}
constructor(year, month, day, start) {
this._year = year;
this._month = month;
this._day = day;
this._start = start;
}
getYear() {
return this._year;
}
getMonth() {
return this._month;
}
getDay() {
return this._day;
}
getStart() {
return this._start;
}
getIndex() {
let offset = Solar.fromYmd(this._year, this._month, 1).getWeek() - this._start;
if (offset < 0) {
offset += 7;
}
return Math.ceil((this._day + offset) / 7);
}
getIndexInYear() {
let offset = Solar.fromYmd(this._year, 1, 1).getWeek() - this._start;
if (offset < 0) {
offset += 7;
}
return Math.ceil((SolarUtil.getDaysInYear(this._year, this._month, this._day) + offset) / 7);
}
next(weeks, separateMonth) {
const start = this._start;
if (0 === weeks) {
return SolarWeek.fromYmd(this._year, this._month, this._day, start);
}
let solar = Solar.fromYmd(this._year, this._month, this._day);
if (separateMonth) {
let n = weeks;
let week = SolarWeek.fromYmd(this._year, this._month, this._day, start);
let month = this._month;
const plus = n > 0;
while (0 !== n) {
solar = solar.next(plus ? 7 : -7);
week = SolarWeek.fromYmd(solar.getYear(), solar.getMonth(), solar.getDay(), start);
let weekMonth = week.getMonth();
if (month !== weekMonth) {
const index = week.getIndex();
if (plus) {
if (1 === index) {
const firstDay = week.getFirstDay();
week = SolarWeek.fromYmd(firstDay.getYear(), firstDay.getMonth(), firstDay.getDay(), start);
weekMonth = week.getMonth();
} else {
solar = Solar.fromYmd(week.getYear(), week.getMonth(), 1);
week = SolarWeek.fromYmd(solar.getYear(), solar.getMonth(), solar.getDay(), start);
}
} else {
if (SolarUtil.getWeeksOfMonth(week.getYear(), week.getMonth(), start) === index) {
const lastDay = week.getFirstDay().next(6);
week = SolarWeek.fromYmd(lastDay.getYear(), lastDay.getMonth(), lastDay.getDay(), start);
weekMonth = week.getMonth();
} else {
solar = Solar.fromYmd(week.getYear(), week.getMonth(), SolarUtil.getDaysOfMonth(week.getYear(), week.getMonth()));
week = SolarWeek.fromYmd(solar.getYear(), solar.getMonth(), solar.getDay(), start);
}
}
month = weekMonth;
}
n -= plus ? 1 : -1;
}
return week;
} else {
solar = solar.next(weeks * 7);
return SolarWeek.fromYmd(solar.getYear(), solar.getMonth(), solar.getDay(), start);
}
}
getFirstDay() {
const solar = Solar.fromYmd(this._year, this._month, this._day);
let prev = solar.getWeek() - this._start;
if (prev < 0) {
prev += 7;
}
return solar.next(-prev);
}
getFirstDayInMonth() {
let index = 0;
const days = this.getDays();
for (let i = 0; i < days.length; i++) {
if (this._month === days[i].getMonth()) {
index = i;
break;
}
}
return days[index];
}
getDays() {
const firstDay = this.getFirstDay();
const l = [];
l.push(firstDay);
for (let i = 1; i < 7; i++) {
l.push(firstDay.next(i));
}
return l;
}
getDaysInMonth() {
const days = this.getDays();
const l = [];
for (let i = 0; i < days.length; i++) {
const day = days[i];
if (this._month !== day.getMonth()) {
continue;
}
l.push(day);
}
return l;
}
toString() {
return `${this.getYear()}.${this.getMonth()}.${this.getIndex()}`;
}
toFullString() {
return `${this.getYear()}\u5E74${this.getMonth()}\u6708\u7B2C${this.getIndex()}\u5468`;
}
}
const _LunarUtil = class {
static getTimeZhiIndex(hm) {
if (!hm) {
return 0;
}
if (hm.length > 5) {
hm = hm.substring(0, 5);
}
let x = 1;
for (let i = 1; i < 22; i += 2) {
if (hm >= (i < 10 ? "0" : "") + i + ":00" && hm <= (i + 1 < 10 ? "0" : "") + (i + 1) + ":59") {
return x;
}
x++;
}
return 0;
}
static convertTime(hm) {
return _LunarUtil.ZHI[_LunarUtil.getTimeZhiIndex(hm) + 1];
}
static getJiaZiIndex(ganZhi) {
return _LunarUtil.index(ganZhi, _LunarUtil.JIA_ZI, 0);
}
static hex(n) {
let hex = n.toString(16);
if (hex.length < 2) {
hex = "0" + hex;
}
return hex.toUpperCase();
}
static getDayYi(monthGanZhi, dayGanZhi) {
const l = [];
const day = _LunarUtil.hex(_LunarUtil.getJiaZiIndex(dayGanZhi));
const month = _LunarUtil.hex(_LunarUtil.getJiaZiIndex(monthGanZhi));
let right = _LunarUtil.DAY_YI_JI;
let index = right.indexOf(day + "=");
while (index > -1) {
right = right.substring(index + 3);
let left = right;
if (left.indexOf("=") > -1) {
left = left.substring(0, left.indexOf("=") - 2);
}
let matched = false;
const months = left.substring(0, left.indexOf(":"));
let i, j;
for (i = 0, j = months.length; i < j; i += 2) {
if (months.substring(i, i + 2) == month) {
matched = true;
break;
}
}
if (matched) {
let ys = left.substring(left.indexOf(":") + 1);
ys = ys.substring(0, ys.indexOf(","));
for (i = 0, j = ys.length; i < j; i += 2) {
l.push(_LunarUtil.YI_JI[parseInt(ys.substring(i, i + 2), 16)]);
}
break;
}
index = right.indexOf(day + "=");
}
if (l.length < 1) {
l.push(_LunarUtil.SHEN_SHA[0]);
}
return l;
}
static getDayJi(monthGanZhi, dayGanZhi) {
const l = [];
const day = _LunarUtil.hex(_LunarUtil.getJiaZiIndex(dayGanZhi));
const month = _LunarUtil.hex(_LunarUtil.getJiaZiIndex(monthGanZhi));
let right = _LunarUtil.DAY_YI_JI;
let index = right.indexOf(day + "=");
while (index > -1) {
right = right.substring(index + 3);
let left = right;
if (left.indexOf("=") > -1) {
left = left.substring(0, left.indexOf("=") - 2);
}
let matched = false;
const months = left.substring(0, left.indexOf(":"));
let i, j;
for (i = 0, j = months.length; i < j; i += 2) {
if (months.substring(i, i + 2) == month) {
matched = true;
break;
}
}
if (matched) {
let js = left.substring(left.indexOf(",") + 1);
for (i = 0, j = js.length; i < j; i += 2) {
l.push(_LunarUtil.YI_JI[parseInt(js.substring(i, i + 2), 16)]);
}
break;
}
index = right.indexOf(day + "=");
}
if (l.length < 1) {
l.push(_LunarUtil.SHEN_SHA[0]);
}
return l;
}
static getDayJiShen(lunarMonth, dayGanZhi) {
const l = [];
const day = _LunarUtil.hex(_LunarUtil.getJiaZiIndex(dayGanZhi));
const month = Math.abs(lunarMonth).toString(16).toUpperCase();
const index = _LunarUtil.DAY_SHEN_SHA.indexOf(month + day + "=");
if (index > -1) {
let left = _LunarUtil.DAY_SHEN_SHA.substring(index + 4);
if (left.indexOf("=") > -1) {
left = left.substring(0, left.indexOf("=") - 3);
}
let js = left.substring(0, left.indexOf(","));
for (let i = 0, j = js.length; i < j; i += 2) {
l.push(_LunarUtil.SHEN_SHA[parseInt(js.substring(i, i + 2), 16)]);
}
}
if (l.length < 1) {
l.push(_LunarUtil.SHEN_SHA[0]);
}
return l;
}
static getDayXiongSha(lunarMonth, dayGanZhi) {
const l = [];
const day = _LunarUtil.hex(_LunarUtil.getJiaZiIndex(dayGanZhi));
const month = Math.abs(lunarMonth).toString(16).toUpperCase();
const index = _LunarUtil.DAY_SHEN_SHA.indexOf(month + day + "=");
if (index > -1) {
let left = _LunarUtil.DAY_SHEN_SHA.substring(index + 4);
if (left.indexOf("=") > -1) {
left = left.substring(0, left.indexOf("=") - 3);
}
const xs = left.substring(left.indexOf(",") + 1);
for (let i = 0, j = xs.length; i < j; i += 2) {
l.push(_LunarUtil.SHEN_SHA[parseInt(xs.substring(i, i + 2), 16)]);
}
}
if (l.length < 1) {
l.push(_LunarUtil.SHEN_SHA[0]);
}
return l;
}
static getTimeYi(dayGanZhi, timeGanZhi) {
const l = [];
const day = _LunarUtil.hex(_LunarUtil.getJiaZiIndex(dayGanZhi));
const time = _LunarUtil.hex(_LunarUtil.getJiaZiIndex(timeGanZhi));
const index = _LunarUtil.TIME_YI_JI.indexOf(day + time + "=");
if (index > -1) {
let left = _LunarUtil.TIME_YI_JI.substring(index + 5);
if (left.indexOf("=") > -1) {
left = left.substring(0, left.indexOf("=") - 4);
}
let ys = left.substring(0, left.indexOf(","));
for (let i = 0, j = ys.length; i < j; i += 2) {
l.push(_LunarUtil.YI_JI[parseInt(ys.substring(i, i + 2), 16)]);
}
}
if (l.length < 1) {
l.push(_LunarUtil.SHEN_SHA[0]);
}
return l;
}
static getTimeJi(dayGanZhi, timeGanZhi) {
const l = [];
const day = _LunarUtil.hex(_LunarUtil.getJiaZiIndex(dayGanZhi));
const time = _LunarUtil.hex(_LunarUtil.getJiaZiIndex(timeGanZhi));
const index = _LunarUtil.TIME_YI_JI.indexOf(day + time + "=");
if (index > -1) {
let left = _LunarUtil.TIME_YI_JI.substring(index + 5);
if (left.indexOf("=") > -1) {
left = left.substring(0, left.indexOf("=") - 4);
}
let js = left.substring(left.indexOf(",") + 1);
for (let i = 0, j = js.length; i < j; i += 2) {
l.push(_LunarUtil.YI_JI[parseInt(js.substring(i, i + 2), 16)]);
}
}
if (l.length < 1) {
l.push(_LunarUtil.SHEN_SHA[0]);
}
return l;
}
static getXunIndex(ganZhi) {
const gan = _LunarUtil.find(ganZhi, _LunarUtil.GAN);
const zhi = _LunarUtil.find(ganZhi, _LunarUtil.ZHI);
let diff = gan.index - zhi.index;
if (diff < 0) {
diff += 12;
}
return Math.floor(diff / 2);
}
static getXun(ganZhi) {
return _LunarUtil.XUN[_LunarUtil.getXunIndex(ganZhi)];
}
static getXunKong(ganZhi) {
return _LunarUtil.XUN_KONG[_LunarUtil.getXunIndex(ganZhi)];
}
static find(s, arr) {
for (let i = 0, j = arr.length; i < j; i++) {
const v = arr[i];
if (v.length < 1) {
continue;
}
if (s.indexOf(v) > -1) {
return {
"index": i,
"value": v
};
}
}
return null;
}
static index(name, names, offset) {
for (let i = 0, j = names.length; i < j; i++) {
if (names[i] === name) {
return i + offset;
}
}
return -1;
}
};
let LunarUtil = _LunarUtil;
LunarUtil.BASE_MONTH_ZHI_INDEX = 2;
LunarUtil.XUN = [
"{jz.jiaZi}",
"{jz.jiaXu}",
"{jz.jiaShen}",
"{jz.jiaWu}",
"{jz.jiaChen}",
"{jz.jiaYin}"
];
LunarUtil.XUN_KONG = [
"{dz.xu}{dz.hai}",
"{dz.shen}{dz.you}",
"{dz.wu}{dz.wei}",
"{dz.chen}{dz.si}",
"{dz.yin}{dz.mao}",
"{dz.zi}{dz.chou}"
];
LunarUtil.CHANG_SHENG = [
"{ds.changSheng}",
"{ds.muYu}",
"{ds.guanDai}",
"{ds.linGuan}",
"{ds.diWang}",
"{ds.shuai}",
"{ds.bing}",
"{ds.si}",
"{ds.mu}",
"{ds.jue}",
"{ds.tai}",
"{ds.yang}"
];
LunarUtil.MONTH_ZHI = [
"",
"{dz.yin}",
"{dz.mao}",
"{dz.chen}",
"{dz.si}",
"{dz.wu}",
"{dz.wei}",
"{dz.shen}",
"{dz.you}",
"{dz.xu}",
"{dz.hai}",
"{dz.zi}",
"{dz.chou}"
];
LunarUtil.JIE_QI = [
"{jq.dongZhi}",
"{jq.xiaoHan}",
"{jq.daHan}",
"{jq.liChun}",
"{jq.yuShui}",
"{jq.jingZhe}",
"{jq.chunFen}",
"{jq.qingMing}",
"{jq.guYu}",
"{jq.liXia}",
"{jq.xiaoMan}",
"{jq.mangZhong}",
"{jq.xiaZhi}",
"{jq.xiaoShu}",
"{jq.daShu}",
"{jq.liQiu}",
"{jq.chuShu}",
"{jq.baiLu}",
"{jq.qiuFen}",
"{jq.hanLu}",
"{jq.shuangJiang}",
"{jq.liDong}",
"{jq.xiaoXue}",
"{jq.daXue}"
];
LunarUtil.JIE_QI_IN_USE = [
"DA_XUE",
"{jq.dongZhi}",
"{jq.xiaoHan}",
"{jq.daHan}",
"{jq.liChun}",
"{jq.yuShui}",
"{jq.jingZhe}",
"{jq.chunFen}",
"{jq.qingMing}",
"{jq.guYu}",
"{jq.liXia}",
"{jq.xiaoMan}",
"{jq.mangZhong}",
"{jq.xiaZhi}",
"{jq.xiaoShu}",
"{jq.daShu}",
"{jq.liQiu}",
"{jq.chuShu}",
"{jq.baiLu}",
"{jq.qiuFen}",
"{jq.hanLu}",
"{jq.shuangJiang}",
"{jq.liDong}",
"{jq.xiaoXue}",
"{jq.daXue}",
"DONG_ZHI",
"XIAO_HAN",
"DA_HAN",
"LI_CHUN",
"YU_SHUI",
"JING_ZHE"
];
LunarUtil.LIU_YAO = [
"{ly.xianSheng}",
"{ly.youYin}",
"{ly.xianFu}",
"{ly.foMie}",
"{ly.daAn}",
"{ly.chiKou}"
];
LunarUtil.HOU = [
"{h.first}",
"{h.second}",
"{h.third}"
];
LunarUtil.WU_HOU = [
"{h.qiuYinJie}",
"{h.miJiao}",
"{h.shuiQuan}",
"{h.yanBei}",
"{h.queShi}",
"{h.zhiShi}",
"{h.jiShi}",
"{h.zhengNiao}",
"{h.shuiZe}",
"{h.dongFeng}",
"{h.zheChongShiZhen}",
"{h.yuZhi}",
"{h.taJi}",
"{h.houYan}",
"{h.caoMuMengDong}",
"{h.taoShi}",
"{h.cangGeng}",
"{h.yingHua}",
"{h.xuanNiaoZhi}",
"{h.leiNai}",
"{h.shiDian}",
"{h.tongShi}",
"{h.tianShu}",
"{h.hongShi}",
"{h.pingShi}",
"{h.mingJiu}",
"{h.daiSheng}",
"{h.louGuo}",
"{h.qiuYinChu}",
"{h.wangGua}",
"{h.kuCai}",
"{h.miCao}",
"{h.maiQiu}",
"{h.tangLang}",
"{h.juShi}",
"{h.fanShe}",
"{h.luJia}",
"{h.tiaoShi}",
"{h.banXia}",
"{h.wenFeng}",
"{h.xiShuai}",
"{h.yingShi}",
"{h.fuCao}",
"{h.tuRun}",
"{h.daYu}",
"{h.liangFeng}",
"{h.baiLu}",
"{h.hanChan}",
"{h.yingNai}",
"{h.tianDi}",
"{h.heNai}",
"{h.hongYanLai}",
"{h.xuanNiaoGui}",
"{h.qunNiao}",
"{h.leiShi}",
"{h.zheChongPiHu}",
"{h.shuiShiHe}",
"{h.hongYanLaiBin}",
"{h.queRu}",
"{h.juYou}",
"{h.caiNai}",
"{h.caoMuHuangLuo}",
"{h.zheChongXianFu}",
"{h.shuiShiBing}",
"{h.diShi}",
"{h.zhiRu}",
"{h.hongCang}",
"{h.tianQi}",
"{h.biSe}",
"{h.heDan}",
"{h.huShi}",
"{h.liTing}"
];
LunarUtil.GAN = ["", "{tg.jia}", "{tg.yi}", "{tg.bing}", "{tg.ding}", "{tg.wu}", "{tg.ji}", "{tg.geng}", "{tg.xin}", "{tg.ren}", "{tg.gui}"];
LunarUtil.POSITION_XI = ["", "{bg.gen}", "{bg.qian}", "{bg.kun}", "{bg.li}", "{bg.xun}", "{bg.gen}", "{bg.qian}", "{bg.kun}", "{bg.li}", "{bg.xun}"];
LunarUtil.POSITION_YANG_GUI = ["", "{bg.kun}", "{bg.kun}", "{bg.dui}", "{bg.qian}", "{bg.gen}", "{bg.kan}", "{bg.li}", "{bg.gen}", "{bg.zhen}", "{bg.xun}"];
LunarUtil.POSITION_YIN_GUI = ["", "{bg.gen}", "{bg.kan}", "{bg.qian}", "{bg.dui}", "{bg.kun}", "{bg.kun}", "{bg.gen}", "{bg.li}", "{bg.xun}", "{bg.zhen}"];
LunarUtil.POSITION_FU = ["", "{bg.xun}", "{bg.xun}", "{bg.zhen}", "{bg.zhen}", "{bg.kan}", "{bg.li}", "{bg.kun}", "{bg.kun}", "{bg.qian}", "{bg.dui}"];
LunarUtil.POSITION_FU_2 = ["", "{bg.kan}", "{bg.kun}", "{bg.qian}", "{bg.xun}", "{bg.gen}", "{bg.kan}", "{bg.kun}", "{bg.qian}", "{bg.xun}", "{bg.gen}"];
LunarUtil.POSITION_CAI = ["", "{bg.gen}", "{bg.gen}", "{bg.kun}", "{bg.kun}", "{bg.kan}", "{bg.kan}", "{bg.zhen}", "{bg.zhen}", "{bg.li}", "{bg.li}"];
LunarUtil.POSITION_TAI_SUI_YEAR = ["{bg.kan}", "{bg.gen}", "{bg.gen}", "{bg.zhen}", "{bg.xun}", "{bg.xun}", "{bg.li}", "{bg.kun}", "{bg.kun}", "{bg.dui}", "{bg.kan}", "{bg.kan}"];
LunarUtil.POSITION_GAN = ["{bg.zhen}", "{bg.zhen}", "{bg.li}", "{bg.li}", "{ps.center}", "{ps.center}", "{bg.dui}", "{bg.dui}", "{bg.kan}", "{bg.kan}"];
LunarUtil.POSITION_ZHI = ["{bg.kan}", "{ps.center}", "{bg.zhen}", "{bg.zhen}", "{ps.center}", "{bg.li}", "{bg.li}", "{ps.center}", "{bg.dui}", "{bg.dui}", "{ps.center}", "{bg.kan}"];
LunarUtil.POSITION_TAI_DAY = [
"{ts.zhan}{ts.men}{ts.dui} {ps.wai}{ps.dongNan}",
"{ts.dui}{ts.mo}{ts.ce} {ps.wai}{ps.dongNan}",
"{ts.chu}{ts.zao}{ts.lu} {ps.wai}{ps.zhengNan}",
"{ts.cangKu}{ts.men} {ps.wai}{ps.zhengNan}",
"{ts.fang}{ts.chuang}{ts.xi} {ps.wai}{ps.zhengNan}",
"{ts.zhan}{ts.men}{ts.chuang} {ps.wai}{ps.zhengNan}",
"{ts.zhan}{ts.dui}{ts.mo} {ps.wai}{ps.zhengNan}",
"{ts.chu}{ts.zao}{ts.ce} {ps.wai}{ps.xiNan}",
"{ts.cangKu}{ts.lu} {ps.wai}{ps.xiNan}",
"{ts.fang}{ts.chuang}{ts.men} {ps.wai}{ps.xiNan}",
"{ts.zhan}{ts.men}{ts.xi} {ps.wai}{ps.xiNan}",
"{ts.dui}{ts.mo}{ts.chuang} {ps.wai}{ps.xiNan}",
"{ts.chu}{ts.zao}{ts.dui} {ps.wai}{ps.xiNan}",
"{ts.cangKu}{ts.ce} {ps.wai}{ps.zhengXi}",
"{ts.fang}{ts.chuang}{ts.lu} {ps.wai}{ps.zhengXi}",
"{ts.zhan}{ts.daMen} {ps.wai}{ps.zhengXi}",
"{ts.dui}{ts.mo}{ts.xi} {ps.wai}{ps.zhengXi}",
"{ts.chu}{ts.zao}{ts.chuang} {ps.wai}{ps.zhengXi}",
"{ts.cangKu}{ts.dui} {ps.wai}{ps.xiBei}",
"{ts.fang}{ts.chuang}{ts.ce} {ps.wai}{ps.xiBei}",
"{ts.zhan}{ts.men}{ts.lu} {ps.wai}{ps.xiBei}",
"{ts.dui}{ts.mo}{ts.men} {ps.wai}{ps.xiBei}",
"{ts.chu}{ts.zao}{ts.xi} {ps.wai}{ps.xiBei}",
"{ts.cangKu}{ts.chuang} {ps.wai}{ps.xiBei}",
"{ts.fang}{ts.chuang}{ts.dui} {ps.wai}{ps.zhengBei}",
"{ts.zhan}{ts.men}{ts.ce} {ps.wai}{ps.zhengBei}",
"{ts.dui}{ts.mo}{ts.lu} {ps.wai}{ps.zhengBei}",
"{ts.chu}{ts.zao}{ts.men} {ps.wai}{ps.zhengBei}",
"{ts.cangKu}{ts.xi} {ps.wai}{ps.zhengBei}",
"{ts.zhan}{ts.fang}{ts.chuang} {ps.fangNei}{ps.bei}",
"{ts.zhan}{ts.men}{ts.dui} {ps.fangNei}{ps.bei}",
"{ts.dui}{ts.mo}{ts.ce} {ps.fangNei}{ps.bei}",
"{ts.chu}{ts.zao}{ts.lu} {ps.fangNei}{ps.bei}",
"{ts.cangKu}{ts.men} {ps.fangNei}{ps.bei}",
"{ts.fang}{ts.chuang}{ts.xi} {ps.fangNei}{ps.center}",
"{ts.zhan}{ts.men}{ts.chuang} {ps.fangNei}{ps.center}",
"{ts.zhan}{ts.dui}{ts.mo} {ps.fangNei}{ps.nan}",
"{ts.chu}{ts.zao}{ts.ce} {ps.fangNei}{ps.nan}",
"{ts.cangKu}{ts.lu} {ps.fangNei}{ps.nan}",
"{ts.fang}{ts.chuang}{ts.men} {ps.fangNei}{ps.xi}",
"{ts.zhan}{ts.men}{ts.xi} {ps.fangNei}{ps.dong}",
"{ts.dui}{ts.mo}{ts.chuang} {ps.fangNei}{ps.dong}",
"{ts.chu}{ts.zao}{ts.dui} {ps.fangNei}{ps.dong}",
"{ts.cangKu}{ts.ce} {ps.fangNei}{ps.dong}",
"{ts.fang}{ts.chuang}{ts.lu} {ps.fangNei}{ps.center}",
"{ts.zhan}{ts.daMen} {ps.wai}{ps.dongBei}",
"{ts.dui}{ts.mo}{ts.xi} {ps.wai}{ps.dongBei}",
"{ts.chu}{ts.zao}{ts.chuang} {ps.wai}{ps.dongBei}",
"{ts.cangKu}{ts.dui} {ps.wai}{ps.dongBei}",
"{ts.fang}{ts.chuang}{ts.ce} {ps.wai}{ps.dongBei}",
"{ts.zhan}{ts.men}{ts.lu} {ps.wai}{ps.dongBei}",
"{ts.dui}{ts.mo}{ts.men} {ps.wai}{ps.zhengDong}",
"{ts.chu}{ts.zao}{ts.xi} {ps.wai}{ps.zhengDong}",
"{ts.cangKu}{ts.chuang} {ps.wai}{ps.zhengDong}",
"{ts.fang}{ts.chuang}{ts.dui} {ps.wai}{ps.zhengDong}",
"{ts.zhan}{ts.men}{ts.ce} {ps.wai}{ps.zhengDong}",
"{ts.dui}{ts.mo}{ts.lu} {ps.wai}{ps.dongNan}",
"{ts.chu}{ts.zao}{ts.men} {ps.wai}{ps.dongNan}",
"{ts.cangKu}{ts.xi} {ps.wai}{ps.dongNan}",
"{ts.zhan}{ts.fang}{ts.chuang} {ps.wai}{ps.dongNan}"
];
LunarUtil.POSITION_TAI_MONTH = [
"{ts.zhan}{ts.fang}{ts.chuang}",
"{ts.zhan}{ts.hu}{ts.win}",
"{ts.zhan}{ts.men}{ts.tang}",
"{ts.zhan}{ts.chu}{ts.zao}",
"{ts.zhan}{ts.fang}{ts.chuang}",
"{ts.zhan}{ts.chuang}{ts.cang}",
"{ts.zhan}{ts.dui}{ts.mo}",
"{ts.zhan}{ts.ce}{ts.hu}",
"{ts.zhan}{ts.men}{ts.fang}",
"{ts.zhan}{ts.fang}{ts.chuang}",
"{ts.zhan}{ts.zao}{ts.lu}",
"{ts.zhan}{ts.fang}{ts.chuang}"
];
LunarUtil.ZHI = ["", "{dz.zi}", "{dz.chou}", "{dz.yin}", "{dz.mao}", "{dz.chen}", "{dz.si}", "{dz.wu}", "{dz.wei}", "{dz.shen}", "{dz.you}", "{dz.xu}", "{dz.hai}"];
LunarUtil.ZHI_XING = [
"",
"{zx.jian}",
"{zx.chu}",
"{zx.man}",
"{zx.ping}",
"{zx.ding}",
"{zx.zhi}",
"{zx.po}",
"{zx.wei}",
"{zx.cheng}",
"{zx.shou}",
"{zx.kai}",
"{zx.bi}"
];
LunarUtil.JIA_ZI = [
"{jz.jiaZi}",
"{jz.yiChou}",
"{jz.bingYin}",
"{jz.dingMao}",
"{jz.wuChen}",
"{jz.jiSi}",
"{jz.gengWu}",
"{jz.xinWei}",
"{jz.renShen}",
"{jz.guiYou}",
"{jz.jiaXu}",
"{jz.yiHai}",
"{jz.bingZi}",
"{jz.dingChou}",
"{jz.wuYin}",
"{jz.jiMao}",
"{jz.gengChen}",
"{jz.xinSi}",
"{jz.renWu}",
"{jz.guiWei}",
"{jz.jiaShen}",
"{jz.yiYou}",
"{jz.bingXu}",
"{jz.dingHai}",
"{jz.wuZi}",
"{jz.jiChou}",
"{jz.gengYin}",
"{jz.xinMao}",
"{jz.renChen}",
"{jz.guiSi}",
"{jz.jiaWu}",
"{jz.yiWei}",
"{jz.bingShen}",
"{jz.dingYou}",
"{jz.wuXu}",
"{jz.jiHai}",
"{jz.gengZi}",
"{jz.xinChou}",
"{jz.renYin}",
"{jz.guiMao}",
"{jz.jiaChen}",
"{jz.yiSi}",
"{jz.bingWu}",
"{jz.dingWei}",
"{jz.wuShen}",
"{jz.jiYou}",
"{jz.gengXu}",
"{jz.xinHai}",
"{jz.renZi}",
"{jz.guiChou}",
"{jz.jiaYin}",
"{jz.yiMao}",
"{jz.bingChen}",
"{jz.dingSi}",
"{jz.wuWu}",
"{jz.jiWei}",
"{jz.gengShen}",
"{jz.xinYou}",
"{jz.renXu}",
"{jz.guiHai}"
];
LunarUtil.CHANG_SHENG_OFFSET = {
"{tg.jia}": 1,
"{tg.bing}": 10,
"{tg.wu}": 10,
"{tg.geng}": 7,
"{tg.ren}": 4,
"{tg.yi}": 6,
"{tg.ding}": 9,
"{tg.ji}": 9,
"{tg.xin}": 0,
"{tg.gui}": 3
};
LunarUtil.TIAN_SHEN = ["", "{sn.qingLong}", "{sn.mingTang}", "{sn.tianXing}", "{sn.zhuQue}", "{sn.jinKui}", "{sn.tianDe}", "{sn.baiHu}", "{sn.yuTang}", "{sn.tianLao}", "{sn.xuanWu}", "{sn.siMing}", "{sn.gouChen}"];
LunarUtil.ZHI_TIAN_SHEN_OFFSET = {
"{dz.zi}": 4,
"{dz.chou}": 2,
"{dz.yin}": 0,
"{dz.mao}": 10,
"{dz.chen}": 8,
"{dz.si}": 6,
"{dz.wu}": 4,
"{dz.wei}": 2,
"{dz.shen}": 0,
"{dz.you}": 10,
"{dz.xu}": 8,
"{dz.hai}": 6
};
LunarUtil.TIAN_SHEN_TYPE = {
"{sn.qingLong}": "{s.huangDao}",
"{sn.mingTang}": "{s.huangDao}",
"{sn.jinKui}": "{s.huangDao}",
"{sn.tianDe}": "{s.huangDao}",
"{sn.yuTang}": "{s.huangDao}",
"{sn.siMing}": "{s.huangDao}",
"{sn.tianXing}": "{s.heiDao}",
"{sn.zhuQue}": "{s.heiDao}",
"{sn.baiHu}": "{s.heiDao}",
"{sn.tianLao}": "{s.heiDao}",
"{sn.xuanWu}": "{s.heiDao}",
"{sn.gouChen}": "{s.heiDao}"
};
LunarUtil.TIAN_SHEN_TYPE_LUCK = {
"{s.huangDao}": "{s.goodLuck}",
"{s.heiDao}": "{s.badLuck}"
};
LunarUtil.LU = {
"{tg.jia}": "{dz.yin}",
"{tg.yi}": "{dz.mao}",
"{tg.bing}": "{dz.si}",
"{tg.ding}": "{dz.wu}",
"{tg.wu}": "{dz.si}",
"{tg.ji}": "{dz.wu}",
"{tg.geng}": "{dz.shen}",
"{tg.xin}": "{dz.you}",
"{tg.ren}": "{dz.hai}",
"{tg.gui}": "{dz.zi}",
"{dz.yin}": "{tg.jia}",
"{dz.mao}": "{tg.yi}",
"{dz.si}": "{tg.bing},{tg.wu}",
"{dz.wu}": "{tg.ding},{tg.ji}",
"{dz.shen}": "{tg.geng}",
"{dz.you}": "{tg.xin}",
"{dz.hai}": "{tg.ren}",
"{dz.zi}": "{tg.gui}"
};
LunarUtil.PENGZU_GAN = ["", "{tg.jia}\u4E0D\u5F00\u4ED3\u8D22\u7269\u8017\u6563", "{tg.yi}\u4E0D\u683D\u690D\u5343\u682A\u4E0D\u957F", "{tg.bing}\u4E0D\u4FEE\u7076\u5FC5\u89C1\u707E\u6B83", "{tg.ding}\u4E0D\u5243\u5934\u5934\u5FC5\u751F\u75AE", "{tg.wu}\u4E0D\u53D7\u7530\u7530\u4E3B\u4E0D\u7965", "{tg.ji}\u4E0D\u7834\u5238\u4E8C\u6BD4\u5E76\u4EA1", "{tg.geng}\u4E0D\u7ECF\u7EDC\u7EC7\u673A\u865A\u5F20", "{tg.xin}\u4E0D\u5408\u9171\u4E3B\u4EBA\u4E0D\u5C1D", "{tg.ren}\u4E0D\u6CF1\u6C34\u66F4\u96BE\u63D0\u9632", "{tg.gui}\u4E0D\u8BCD\u8BBC\u7406\u5F31\u654C\u5F3A"];
LunarUtil.PENGZU_ZHI = ["", "{dz.zi}\u4E0D\u95EE\u535C\u81EA\u60F9\u7978\u6B83", "{dz.chou}\u4E0D\u51A0\u5E26\u4E3B\u4E0D\u8FD8\u4E61", "{dz.yin}\u4E0D\u796D\u7940\u795E\u9B3C\u4E0D\u5C1D", "{dz.mao}\u4E0D\u7A7F\u4E95\u6C34\u6CC9\u4E0D\u9999", "{dz.chen}\u4E0D\u54ED\u6CE3\u5FC5\u4E3B\u91CD\u4E27", "{dz.si}\u4E0D\u8FDC\u884C\u8D22\u7269\u4F0F\u85CF", "{dz.wu}\u4E0D\u82EB\u76D6\u5C4B\u4E3B\u66F4\u5F20", "{dz.wei}\u4E0D\u670D\u836F\u6BD2\u6C14\u5165\u80A0", "{dz.shen}\u4E0D\u5B89\u5E8A\u9B3C\u795F\u5165\u623F", "{dz.you}\u4E0D\u4F1A\u5BA2\u9189\u5750\u98A0\u72C2", "{dz.xu}\u4E0D\u5403\u72AC\u4F5C\u602A\u4E0A\u5E8A", "{dz.hai}\u4E0D\u5AC1\u5A36\u4E0D\u5229\u65B0\u90CE"];
LunarUtil.NUMBER = ["{n.zero}", "{n.one}", "{n.two}", "{n.three}", "{n.four}", "{n.five}", "{n.six}", "{n.seven}", "{n.eight}", "{n.nine}", "{n.ten}", "{n.eleven}", "{n.twelve}"];
LunarUtil.MONTH = [
"",
"{m.one}",
"{m.two}",
"{m.three}",
"{m.four}",
"{m.five}",
"{m.six}",
"{m.seven}",
"{m.eight}",
"{m.nine}",
"{m.ten}",
"{m.eleven}",
"{m.twelve}"
];
LunarUtil.SEASON = [
"",
"{od.first}{sz.chun}",
"{od.second}{sz.chun}",
"{od.third}{sz.chun}",
"{od.first}{sz.xia}",
"{od.second}{sz.xia}",
"{od.third}{sz.xia}",
"{od.first}{sz.qiu}",
"{od.second}{sz.qiu}",
"{od.third}{sz.qiu}",
"{od.first}{sz.dong}",
"{od.second}{sz.dong}",
"{od.third}{sz.dong}"
];
LunarUtil.SHENGXIAO = ["", "{sx.rat}", "{sx.ox}", "{sx.tiger}", "{sx.rabbit}", "{sx.dragon}", "{sx.snake}", "{sx.horse}", "{sx.goat}", "{sx.monkey}", "{sx.rooster}", "{sx.dog}", "{sx.pig}"];
LunarUtil.DAY = [
"",
"{d.one}",
"{d.two}",
"{d.three}",
"{d.four}",
"{d.five}",
"{d.six}",
"{d.seven}",
"{d.eight}",
"{d.nine}",
"{d.ten}",
"{d.eleven}",
"{d.twelve}",
"{d.thirteen}",
"{d.fourteen}",
"{d.fifteen}",
"{d.sixteen}",
"{d.seventeen}",
"{d.eighteen}",
"{d.nighteen}",
"{d.twenty}",
"{d.twentyOne}",
"{d.twentyTwo}",
"{d.twentyThree}",
"{d.twentyFour}",
"{d.twentyFive}",
"{d.twentySix}",
"{d.twentySeven}",
"{d.twentyEight}",
"{d.twentyNine}",
"{d.thirty}"
];
LunarUtil.YUE_XIANG = [
"",
"{yx.shuo}",
"{yx.jiShuo}",
"{yx.eMeiXin}",
"{yx.eMeiXin}",
"{yx.eMei}",
"{yx.xi}",
"{yx.shangXian}",
"{yx.shangXian}",
"{yx.jiuYe}",
"{yx.night}",
"{yx.night}",
"{yx.night}",
"{yx.jianYingTu}",
"{yx.xiaoWang}",
"{yx.wang}",
"{yx.jiWang}",
"{yx.liDai}",
"{yx.juDai}",
"{yx.qinDai}",
"{yx.gengDai}",
"{yx.jianKuiTu}",
"{yx.xiaXian}",
"{yx.xiaXian}",
"{yx.youMing}",
"{yx.youMing}",
"{yx.eMeiCan}",
"{yx.eMeiCan}",
"{yx.can}",
"{yx.xiao}",
"{yx.hui}"
];
LunarUtil.XIU = {
"{dz.shen}1": "{xx.bi}",
"{dz.shen}2": "{xx.yi}",
"{dz.shen}3": "{xx.ji}",
"{dz.shen}4": "{xx.kui}",
"{dz.shen}5": "{xx.gui}",
"{dz.shen}6": "{xx.di}",
"{dz.shen}0": "{xx.xu}",
"{dz.zi}1": "{xx.bi}",
"{dz.zi}2": "{xx.yi}",
"{dz.zi}3": "{xx.ji}",
"{dz.zi}4": "{xx.kui}",
"{dz.zi}5": "{xx.gui}",
"{dz.zi}6": "{xx.di}",
"{dz.zi}0": "{xx.xu}",
"{dz.chen}1": "{xx.bi}",
"{dz.chen}2": "{xx.yi}",
"{dz.chen}3": "{xx.ji}",
"{dz.chen}4": "{xx.kui}",
"{dz.chen}5": "{xx.gui}",
"{dz.chen}6": "{xx.di}",
"{dz.chen}0": "{xx.xu}",
"{dz.si}1": "{xx.wei}",
"{dz.si}2": "{xx.zi}",
"{dz.si}3": "{xx.zhen}",
"{dz.si}4": "{xx.dou}",
"{dz.si}5": "{xx.lou}",
"{dz.si}6": "{xx.liu}",
"{dz.si}0": "{xx.fang}",
"{dz.you}1": "{xx.wei}",
"{dz.you}2": "{xx.zi}",
"{dz.you}3": "{xx.zhen}",
"{dz.you}4": "{xx.dou}",
"{dz.you}5": "{xx.lou}",
"{dz.you}6": "{xx.liu}",
"{dz.you}0": "{xx.fang}",
"{dz.chou}1": "{xx.wei}",
"{dz.chou}2": "{xx.zi}",
"{dz.chou}3": "{xx.zhen}",
"{dz.chou}4": "{xx.dou}",
"{dz.chou}5": "{xx.lou}",
"{dz.chou}6": "{xx.liu}",
"{dz.chou}0": "{xx.fang}",
"{dz.yin}1": "{xx.xin}",
"{dz.yin}2": "{xx.shi}",
"{dz.yin}3": "{xx.can}",
"{dz.yin}4": "{xx.jiao}",
"{dz.yin}5": "{xx.niu}",
"{dz.yin}6": "{xx.vei}",
"{dz.yin}0": "{xx.xing}",
"{dz.wu}1": "{xx.xin}",
"{dz.wu}2": "{xx.shi}",
"{dz.wu}3": "{xx.can}",
"{dz.wu}4": "{xx.jiao}",
"{dz.wu}5": "{xx.niu}",
"{dz.wu}6": "{xx.vei}",
"{dz.wu}0": "{xx.xing}",
"{dz.xu}1": "{xx.xin}",
"{dz.xu}2": "{xx.shi}",
"{dz.xu}3": "{xx.can}",
"{dz.xu}4": "{xx.jiao}",
"{dz.xu}5": "{xx.niu}",
"{dz.xu}6": "{xx.vei}",
"{dz.xu}0": "{xx.xing}",
"{dz.hai}1": "{xx.zhang}",
"{dz.hai}2": "{xx.tail}",
"{dz.hai}3": "{xx.qiang}",
"{dz.hai}4": "{xx.jing}",
"{dz.hai}5": "{xx.kang}",
"{dz.hai}6": "{xx.nv}",
"{dz.hai}0": "{xx.mao}",
"{dz.mao}1": "{xx.zhang}",
"{dz.mao}2": "{xx.tail}",
"{dz.mao}3": "{xx.qiang}",
"{dz.mao}4": "{xx.jing}",
"{dz.mao}5": "{xx.kang}",
"{dz.mao}6": "{xx.nv}",
"{dz.mao}0": "{xx.mao}",
"{dz.wei}1": "{xx.zhang}",
"{dz.wei}2": "{xx.tail}",
"{dz.wei}3": "{xx.qiang}",
"{dz.wei}4": "{xx.jing}",
"{dz.wei}5": "{xx.kang}",
"{dz.wei}6": "{xx.nv}",
"{dz.wei}0": "{xx.mao}"
};
LunarUtil.XIU_LUCK = {
"{xx.jiao}": "{s.goodLuck}",
"{xx.kang}": "{s.badLuck}",
"{xx.di}": "{s.badLuck}",
"{xx.fang}": "{s.goodLuck}",
"{xx.xin}": "{s.badLuck}",
"{xx.tail}": "{s.goodLuck}",
"{xx.ji}": "{s.goodLuck}",
"{xx.dou}": "{s.goodLuck}",
"{xx.niu}": "{s.badLuck}",
"{xx.nv}": "{s.badLuck}",
"{xx.xu}": "{s.badLuck}",
"{xx.wei}": "{s.badLuck}",
"{xx.shi}": "{s.goodLuck}",
"{xx.qiang}": "{s.goodLuck}",
"{xx.kui}": "{s.badLuck}",
"{xx.lou}": "{s.goodLuck}",
"{xx.vei}": "{s.goodLuck}",
"{xx.mao}": "{s.badLuck}",
"{xx.bi}": "{s.goodLuck}",
"{xx.zi}": "{s.badLuck}",
"{xx.can}": "{s.goodLuck}",
"{xx.jing}": "{s.goodLuck}",
"{xx.gui}": "{s.badLuck}",
"{xx.liu}": "{s.badLuck}",
"{xx.xing}": "{s.badLuck}",
"{xx.zhang}": "{s.goodLuck}",
"{xx.yi}": "{s.badLuck}",
"{xx.zhen}": "{s.goodLuck}"
};
LunarUtil.XIU_SONG = {
"{xx.jiao}": "\u89D2\u661F\u9020\u4F5C\u4E3B\u8363\u660C\uFF0C\u5916\u8FDB\u7530\u8D22\u53CA\u5973\u90CE\uFF0C\u5AC1\u5A36\u5A5A\u59FB\u51FA\u8D35\u5B50\uFF0C\u6587\u4EBA\u53CA\u7B2C\u89C1\u541B\u738B\uFF0C\u60DF\u6709\u57CB\u846C\u4E0D\u53EF\u7528\uFF0C\u4E09\u5E74\u4E4B\u540E\u4E3B\u761F\u75AB\uFF0C\u8D77\u5DE5\u4FEE\u7B51\u575F\u57FA\u5730\uFF0C\u5802\u524D\u7ACB\u89C1\u4E3B\u4EBA\u51F6\u3002",
"{xx.kang}": "\u4EA2\u661F\u9020\u4F5C\u957F\u623F\u5F53\uFF0C\u5341\u65E5\u4E4B\u4E2D\u4E3B\u6709\u6B83\uFF0C\u7530\u5730\u6D88\u78E8\u5B98\u5931\u804C\uFF0C\u63A5\u8FD0\u5B9A\u662F\u864E\u72FC\u4F24\uFF0C\u5AC1\u5A36\u5A5A\u59FB\u7528\u6B64\u65E5\uFF0C\u513F\u5B59\u65B0\u5987\u5B88\u7A7A\u623F\uFF0C\u57CB\u846C\u82E5\u8FD8\u7528\u6B64\u65E5\uFF0C\u5F53\u65F6\u5BB3\u7978\u4E3B\u91CD\u4F24\u3002",
"{xx.di}": "\u6C10\u661F\u9020\u4F5C\u4E3B\u707E\u51F6\uFF0C\u8D39\u5C3D\u7530\u56ED\u4ED3\u5E93\u7A7A\uFF0C\u57CB\u846C\u4E0D\u53EF\u7528\u6B64\u65E5\uFF0C\u60AC\u7EF3\u540A\u9888\u7978\u91CD\u91CD\uFF0C\u82E5\u662F\u5A5A\u59FB\u79BB\u522B\u6563\uFF0C\u591C\u62DB\u6D6A\u5B50\u5165\u623F\u4E2D\uFF0C\u884C\u8239\u5FC5\u5B9A\u906D\u6C89\u6CA1\uFF0C\u66F4\u751F\u804B\u54D1\u5B50\u5B59\u7A77\u3002",
"{xx.fang}": "\u623F\u661F\u9020\u4F5C\u7530\u56ED\u8FDB\uFF0C\u94B1\u8D22\u725B\u9A6C\u904D\u5C71\u5C97\uFF0C\u66F4\u62DB\u5916\u5904\u7530\u5E84\u5B85\uFF0C\u8363\u534E\u5BCC\u8D35\u798F\u7984\u5EB7\uFF0C\u57CB\u846C\u82E5\u7136\u7528\u6B64\u65E5\uFF0C\u9AD8\u5B98\u8FDB\u804C\u62DC\u541B\u738B\uFF0C\u5AC1\u5A36\u5AE6\u5A25\u81F3\u6708\u6BBF\uFF0C\u4E09\u5E74\u62B1\u5B50\u81F3\u671D\u5802\u3002",
"{xx.xin}": "\u5FC3\u661F\u9020\u4F5C\u5927\u4E3A\u51F6\uFF0C\u66F4\u906D\u5211\u8BBC\u72F1\u56DA\u4E2D\uFF0C\u5FE4\u9006\u5B98\u975E\u5B85\u4EA7\u9000\uFF0C\u57CB\u846C\u5352\u66B4\u6B7B\u76F8\u4ECE\uFF0C\u5A5A\u59FB\u82E5\u662F\u7528\u6B64\u65E5\uFF0C\u5B50\u6B7B\u513F\u4EA1\u6CEA\u6EE1\u80F8\uFF0C\u4E09\u5E74\u4E4B\u5185\u8FDE\u906D\u7978\uFF0C\u4E8B\u4E8B\u6559\u541B\u6CA1\u59CB\u7EC8\u3002",
"{xx.tail}": "\u5C3E\u661F\u9020\u4F5C\u4E3B\u5929\u6069\uFF0C\u5BCC\u8D35\u8363\u534E\u798F\u7984\u589E\uFF0C\u62DB\u8D22\u8FDB\u5B9D\u5174\u5BB6\u5B85\uFF0C\u548C\u5408\u5A5A\u59FB\u8D35\u5B50\u5B59\uFF0C\u57CB\u846C\u82E5\u80FD\u4F9D\u6B64\u65E5\uFF0C\u7537\u6E05\u5973\u6B63\u5B50\u5B59\u5174\uFF0C\u5F00\u95E8\u653E\u6C34\u62DB\u7530\u5B85\uFF0C\u4EE3\u4EE3\u516C\u4FAF\u8FDC\u64AD\u540D\u3002",
"{xx.ji}": "\u7B95\u661F\u9020\u4F5C\u4E3B\u9AD8\u5F3A\uFF0C\u5C81\u5C81\u5E74\u5E74\u5927\u5409\u660C\uFF0C\u57CB\u846C\u4FEE\u575F\u5927\u5409\u5229\uFF0C\u7530\u8695\u725B\u9A6C\u904D\u5C71\u5C97\uFF0C\u5F00\u95E8\u653E\u6C34\u62DB\u7530\u5B85\uFF0C\u7BA7\u6EE1\u91D1\u94F6\u8C37\u6EE1\u4ED3\uFF0C\u798F\u836B\u9AD8\u5B98\u52A0\u7984\u4F4D\uFF0C\u516D\u4EB2\u4E30\u7984\u4E50\u5B89\u5EB7\u3002",
"{xx.dou}": "\u6597\u661F\u9020\u4F5C\u4E3B\u62DB\u8D22\uFF0C\u6587\u6B66\u5B98\u5458\u4F4D\u9F0E\u53F0\uFF0C\u7530\u5B85\u5BB6\u8D22\u5343\u4E07\u8FDB\uFF0C\u575F\u5802\u4FEE\u7B51\u8D35\u5BCC\u6765\uFF0C\u5F00\u95E8\u653E\u6C34\u62DB\u725B\u9A6C\uFF0C\u65FA\u8695\u7537\u5973\u4E3B\u548C\u8C10\uFF0C\u9047\u6B64\u5409\u5BBF\u6765\u7167\u62A4\uFF0C\u65F6\u652F\u798F\u5E86\u6C38\u65E0\u707E\u3002",
"{xx.niu}": "\u725B\u661F\u9020\u4F5C\u4E3B\u707E\u5371\uFF0C\u4E5D\u6A2A\u4E09\u707E\u4E0D\u53EF\u63A8\uFF0C\u5BB6\u5B85\u4E0D\u5B89\u4EBA\u53E3\u9000\uFF0C\u7530\u8695\u4E0D\u5229\u4E3B\u4EBA\u8870\uFF0C\u5AC1\u5A36\u5A5A\u59FB\u7686\u81EA\u635F\uFF0C\u91D1\u94F6\u8D22\u8C37\u6E10\u65E0\u4E4B\uFF0C\u82E5\u662F\u5F00\u95E8\u5E76\u653E\u6C34\uFF0C\u725B\u732A\u7F8A\u9A6C\u4EA6\u4F24\u60B2\u3002",
"{xx.nv}": "\u5973\u661F\u9020\u4F5C\u635F\u5A46\u5A18\uFF0C\u5144\u5F1F\u76F8\u5ACC\u4F3C\u864E\u72FC\uFF0C\u57CB\u846C\u751F\u707E\u9022\u9B3C\u602A\uFF0C\u98A0\u90AA\u75BE\u75C5\u4E3B\u761F\u60F6\uFF0C\u4E3A\u4E8B\u906D\u5B98\u8D22\u5931\u6563\uFF0C\u6CFB\u5229\u7559\u8FDE\u4E0D\u53EF\u5F53\uFF0C\u5F00\u95E8\u653E\u6C34\u7528\u6B64\u65E5\uFF0C\u5168\u5BB6\u8D22\u6563\u4E3B\u79BB\u4E61\u3002",
"{xx.xu}": "\u865A\u661F\u9020\u4F5C\u4E3B\u707E\u6B83\uFF0C\u7537\u5973\u5B64\u7720\u4E0D\u4E00\u53CC\uFF0C\u5185\u4E71\u98CE\u58F0\u65E0\u793C\u8282\uFF0C\u513F\u5B59\u5AB3\u5987\u4F34\u4EBA\u5E8A\uFF0C\u5F00\u95E8\u653E\u6C34\u906D\u707E\u7978\uFF0C\u864E\u54AC\u86C7\u4F24\u53C8\u5352\u4EA1\uFF0C\u4E09\u4E09\u4E94\u4E94\u8FDE\u5E74\u75C5\uFF0C\u5BB6\u7834\u4EBA\u4EA1\u4E0D\u53EF\u5F53\u3002",
"{xx.wei}": "\u5371\u661F\u4E0D\u53EF\u9020\u9AD8\u697C\uFF0C\u81EA\u906D\u5211\u540A\u89C1\u8840\u5149\uFF0C\u4E09\u5E74\u5B69\u5B50\u906D\u6C34\u5384\uFF0C\u540E\u751F\u51FA\u5916\u6C38\u4E0D\u8FD8\uFF0C\u57CB\u846C\u82E5\u8FD8\u9022\u6B64\u65E5\uFF0C\u5468\u5E74\u767E\u65E5\u53D6\u9AD8\u5802\uFF0C\u4E09\u5E74\u4E24\u8F7D\u4E00\u60B2\u4F24\uFF0C\u5F00\u95E8\u653E\u6C34\u5230\u5B98\u5802\u3002",
"{xx.shi}": "\u5BA4\u661F\u4FEE\u9020\u8FDB\u7530\u725B\uFF0C\u513F\u5B59\u4EE3\u4EE3\u8FD1\u738B\u4FAF\uFF0C\u5BB6\u8D35\u8363\u534E\u5929\u4E0A\u81F3\uFF0C\u5BFF\u5982\u5F6D\u7956\u516B\u5343\u79CB\uFF0C\u5F00\u95E8\u653E\u6C34\u62DB\u8D22\u5E1B\uFF0C\u548C\u5408\u5A5A\u59FB\u751F\u8D35\u513F\uFF0C\u57CB\u846C\u82E5\u80FD\u4F9D\u6B64\u65E5\uFF0C\u95E8\u5EAD\u5174\u65FA\u798F\u65E0\u4F11\u3002",
"{xx.qiang}": "\u58C1\u661F\u9020\u4F5C\u4E3B\u589E\u8D22\uFF0C\u4E1D\u8695\u5927\u719F\u798F\u6ED4\u5929\uFF0C\u5974\u5A62\u81EA\u6765\u4EBA\u53E3\u8FDB\uFF0C\u5F00\u95E8\u653E\u6C34\u51FA\u82F1\u8D24\uFF0C\u57CB\u846C\u62DB\u8D22\u5B98\u54C1\u8FDB\uFF0C\u5BB6\u4E2D\u8BF8\u4E8B\u4E50\u9676\u7136\uFF0C\u5A5A\u59FB\u5409\u5229\u4E3B\u8D35\u5B50\uFF0C\u65E9\u64AD\u540D\u8A89\u8457\u7956\u97AD\u3002",
"{xx.kui}": "\u594E\u661F\u9020\u4F5C\u5F97\u796F\u7965\uFF0C\u5BB6\u5185\u8363\u548C\u5927\u5409\u660C\uFF0C\u82E5\u662F\u57CB\u846C\u9634\u5352\u6B7B\uFF0C\u5F53\u5E74\u5B9A\u4E3B\u4E24\u4E09\u4F24\uFF0C\u770B\u770B\u519B\u4EE4\u5211\u4F24\u5230\uFF0C\u91CD\u91CD\u5B98\u4E8B\u4E3B\u761F\u60F6\uFF0C\u5F00\u95E8\u653E\u6C34\u906D\u707E\u7978\uFF0C\u4E09\u5E74\u4E24\u6B21\u635F\u513F\u90CE\u3002",
"{xx.lou}": "\u5A04\u661F\u4FEE\u9020\u8D77\u95E8\u5EAD\uFF0C\u8D22\u65FA\u5BB6\u548C\u4E8B\u4E8B\u5174\uFF0C\u5916\u8FDB\u94B1\u8D22\u767E\u65E5\u8FDB\uFF0C\u4E00\u5BB6\u5144\u5F1F\u64AD\u9AD8\u540D\uFF0C\u5A5A\u59FB\u8FDB\u76CA\u751F\u8D35\u5B50\uFF0C\u7389\u5E1B\u91D1\u94F6\u7BB1\u6EE1\u76C8\uFF0C\u653E\u6C34\u5F00\u95E8\u7686\u5409\u5229\uFF0C\u7537\u8363\u5973\u8D35\u5BFF\u5EB7\u5B81\u3002",
"{xx.vei}": "\u80C3\u661F\u9020\u4F5C\u4E8B\u5982\u4F55\uFF0C\u5BB6\u8D35\u8363\u534E\u559C\u6C14\u591A\uFF0C\u57CB\u846C\u8D35\u4E34\u5B98\u7984\u4F4D\uFF0C\u592B\u5987\u9F50\u7709\u6C38\u4FDD\u5EB7\uFF0C\u5A5A\u59FB\u9047\u6B64\u5BB6\u5BCC\u8D35\uFF0C\u4E09\u707E\u4E5D\u7978\u4E0D\u9022\u4ED6\uFF0C\u4ECE\u6B64\u95E8\u524D\u591A\u5409\u5E86\uFF0C\u513F\u5B59\u4EE3\u4EE3\u62DC\u91D1\u9636\u3002",
"{xx.mao}": "\u6634\u661F\u9020\u4F5C\u8FDB\u7530\u725B\uFF0C\u57CB\u846C\u5B98\u707E\u4E0D\u5F97\u4F11\uFF0C\u91CD\u4E27\u4E8C\u65E5\u4E09\u4EBA\u6B7B\uFF0C\u5C3D\u5356\u7530\u56ED\u4E0D\u8BB0\u589E\uFF0C\u5F00\u95E8\u653E\u6C34\u62DB\u707E\u7978\uFF0C\u4E09\u5C81\u5B69\u513F\u767D\u4E86\u5934\uFF0C\u5A5A\u59FB\u4E0D\u53EF\u9022\u6B64\u65E5\uFF0C\u6B7B\u522B\u751F\u79BB\u662F\u53EF\u6101\u3002",
"{xx.bi}": "\u6BD5\u661F\u9020\u4F5C\u4E3B\u5149\u524D\uFF0C\u4E70\u5F97\u7530\u56ED\u6709\u4F59\u94B1\uFF0C\u57CB\u846C\u6B64\u65E5\u6DFB\u5B98\u804C\uFF0C\u7530\u8695\u5927\u719F\u6C38\u4E30\u5E74\uFF0C\u5F00\u95E8\u653E\u6C34\u591A\u5409\u5E86\uFF0C\u5408\u5BB6\u4EBA\u53E3\u5F97\u5B89\u7136\uFF0C\u5A5A\u59FB\u82E5\u5F97\u9022\u6B64\u65E5\uFF0C\u751F\u5F97\u5B69\u513F\u798F\u5BFF\u5168\u3002",
"{xx.zi}": "\u89DC\u661F\u9020\u4F5C\u6709\u5F92\u5211\uFF0C\u4E09\u5E74\u5FC5\u5B9A\u4E3B\u4F36\u4E01\uFF0C\u57CB\u846C\u5352\u6B7B\u591A\u56E0\u6B64\uFF0C\u53D6\u5B9A\u5BC5\u5E74\u4F7F\u6740\u4EBA\uFF0C\u4E09\u4E27\u4E0D\u6B62\u7686\u7531\u6B64\uFF0C\u4E00\u4EBA\u836F\u6BD2\u4E8C\u4EBA\u8EAB\uFF0C\u5BB6\u95E8\u7530\u5730\u7686\u9000\u8D25\uFF0C\u4ED3\u5E93\u91D1\u94F6\u5316\u4F5C\u5C18\u3002",
"{xx.can}": "\u53C2\u661F\u9020\u4F5C\u65FA\u4EBA\u5BB6\uFF0C\u6587\u661F\u7167\u8000\u5927\u5149\u534E\uFF0C\u53EA\u56E0\u9020\u4F5C\u7530\u8D22\u65FA\uFF0C\u57CB\u846C\u62DB\u75BE\u54ED\u9EC4\u6C99\uFF0C\u5F00\u95E8\u653E\u6C34\u52A0\u5B98\u804C\uFF0C\u623F\u623F\u5B50\u5B59\u89C1\u7530\u52A0\uFF0C\u5A5A\u59FB\u8BB8\u9041\u906D\u5211\u514B\uFF0C\u7537\u5973\u671D\u5F00\u5E55\u843D\u82B1\u3002",
"{xx.jing}": "\u4E95\u661F\u9020\u4F5C\u65FA\u8695\u7530\uFF0C\u91D1\u699C\u9898\u540D\u7B2C\u4E00\u5149\uFF0C\u57CB\u846C\u987B\u9632\u60CA\u5352\u6B7B\uFF0C\u72C2\u98A0\u98CE\u75BE\u5165\u9EC4\u6CC9\uFF0C\u5F00\u95E8\u653E\u6C34\u62DB\u8D22\u5E1B\uFF0C\u725B\u9A6C\u732A\u7F8A\u65FA\u83AB\u8A00\uFF0C\u8D35\u4EBA\u7530\u5858\u6765\u5165\u5B85\uFF0C\u513F\u5B59\u5174\u65FA\u6709\u4F59\u94B1\u3002",
"{xx.gui}": "\u9B3C\u661F\u8D77\u9020\u5352\u4EBA\u4EA1\uFF0C\u5802\u524D\u4E0D\u89C1\u4E3B\u4EBA\u90CE\uFF0C\u57CB\u846C\u6B64\u65E5\u5B98\u7984\u81F3\uFF0C\u513F\u5B59\u4EE3\u4EE3\u8FD1\u541B\u738B\uFF0C\u5F00\u95E8\u653E\u6C34\u987B\u4F24\u6B7B\uFF0C\u5AC1\u5A36\u592B\u59BB\u4E0D\u4E45\u957F\uFF0C\u4FEE\u571F\u7B51\u5899\u4F24\u4EA7\u5973\uFF0C\u624B\u6276\u53CC\u5973\u6CEA\u6C6A\u6C6A\u3002",
"{xx.liu}": "\u67F3\u661F\u9020\u4F5C\u4E3B\u906D\u5B98\uFF0C\u663C\u591C\u5077\u95ED\u4E0D\u6682\u5B89\uFF0C\u57CB\u846C\u761F\u60F6\u591A\u75BE\u75C5\uFF0C\u7530\u56ED\u9000\u5C3D\u5B88\u51AC\u5BD2\uFF0C\u5F00\u95E8\u653E\u6C34\u906D\u804B\u778E\uFF0C\u8170\u9A7C\u80CC\u66F2\u4F3C\u5F13\u5F2F\uFF0C\u66F4\u6709\u68D2\u5211\u5B9C\u8C28\u614E\uFF0C\u5987\u4EBA\u968F\u5BA2\u8D70\u76D8\u6853\u3002",
"{xx.xing}": "\u661F\u5BBF\u65E5\u597D\u9020\u65B0\u623F\uFF0C\u8FDB\u804C\u52A0\u5B98\u8FD1\u5E1D\u738B\uFF0C\u4E0D\u53EF\u57CB\u846C\u5E76\u653E\u6C34\uFF0C\u51F6\u661F\u4E34\u4F4D\u5973\u4EBA\u4EA1\uFF0C\u751F\u79BB\u6B7B\u522B\u65E0\u5FC3\u604B\uFF0C\u8981\u81EA\u5F52\u4F11\u522B\u5AC1\u90CE\uFF0C\u5B54\u5B50\u4E5D\u66F2\u6B8A\u9