const lunarDate = lunar.Lunar.fromDate(new Date());
const year = new Date().getFullYear();
const month = (new Date().getMonth() + 1).toString();
const day = new Date().getDate().toString();
const getHoliday = HolidayUtil.HolidayUtil.getHoliday(year, month, day);
const eightCharString = lunarDate.getEightChar().toString();
const Hour = ['子时', '丑时', '寅时', '卯时', '辰时', '巳时', '午时', '未时', '申时', '酉时', '戌时', '亥时'];
const Quater = ['整', '一刻', '二刻', '三刻'];
const now = new Date();
const hour = now.getHours();
const minute = now.getMinutes();
const Time = Math.floor((hour + 1 + (minute >= 30 ? 0.5 : 0)) / 2) % 12;
const ShiChen = Hour[Time] + (Quater[Math.floor(minute / 15)] || '');
const lunarData = {
Lunar: {
LYear: lunarDate.getYearShengXiaoByLiChun(),
LMonth: lunarDate.getMonthInChinese(),
LDay: lunarDate.getDayInChinese(),
TimeInGanZhi: lunarDate.getTimeInGanZhi(),
Week: lunarDate.getWeekInChinese(),
LJie: lunarDate.getOtherFestivals(),
TianGanYear: lunarDate.getYearInGanZhiExact(),
TianGanMonth: lunarDate.getMonthInGanZhiExact(),
TianGanDay: lunarDate.getDayInGanZhiExact(),
DayLu: lunarDate.getDayLu(),
JieQi: lunarDate.getPrevJieQi(true),
Xiu: lunarDate.getXiu(),
Animal: lunarDate.getAnimal(),
XinLuck: lunarDate.getXiuLuck(),
Zheng: lunarDate.getZheng(),
Gong: lunarDate.getGong(),
PengZuGan: lunarDate.getPengZuGan(),
PengZuZhi: lunarDate.getPengZuZhi(),
XiShen: lunarDate.getDayPositionXiDesc(),
YangGui: lunarDate.getDayPositionYangGuiDesc(),
YinGui: lunarDate.getDayPositionYinGuiDesc(),
FuShen: lunarDate.getDayPositionFuDesc(),
CaiShen: lunarDate.getDayPositionCaiDesc(),
TaiShen: lunarDate.getDayPositionTai(),
ChongSha: '冲' + lunarDate.getDayChongDesc() + ' 煞' + lunarDate.getDaySha(),
WinXingNaYear: lunarDate.getYearNaYin(),
WuxingNaMonth: lunarDate.getMonthNaYin(),
WuxingNaDay: lunarDate.getDayNaYin(),
WuXingZhiXing: lunarDate.getDayNaYin() + ' ' + lunarDate.getZhiXing(),
BaZi: eightCharString,
Yi: lunarDate.getDayYi(),
Ji: lunarDate.getDayJi(),
JiShen: lunarDate.getDayJiShen(),
XiongShen: lunarDate.getDayXiongSha(),
YueXiang: lunarDate.getYueXiang(),
},
HolidayUtil: {
JiaQi: getHoliday,
}
};
msg.topic = "state";
msg.payload = ShiChen;
msg.data = {
"Lunar": lunarData.Lunar.LMonth + "月" + lunarData.Lunar.LDay,
"Week": "星期" + lunarData.Lunar.Week,
"NianGanZhi": lunarData.Lunar.TianGanYear + lunarData.Lunar.LYear + "年",
"YueGanZhi": lunarData.Lunar.TianGanMonth + "月",
"RiGanZhi": lunarData.Lunar.TianGanDay + "日",
"RiLu": lunarData.Lunar.DayLu,
"JieQi": lunarData.Lunar.JieQi._p.name,
"DongFangXingXiu": lunarData.Lunar.Gong + "方" + lunarData.Lunar.Xiu + lunarData.Lunar.Zheng + lunarData.Lunar.Animal + "-" + lunarData.Lunar.XinLuck,
"PengZuGan": lunarData.Lunar.PengZuGan,
"PengZuZhi": lunarData.Lunar.PengZuZhi,
"XiShen": lunarData.Lunar.XiShen,
"YangGui": lunarData.Lunar.YangGui,
"YinGui": lunarData.Lunar.YinGui,
"FuShen": lunarData.Lunar.FuShen,
"CaiShen": lunarData.Lunar.CaiShen,
"TaiShen": lunarData.Lunar.TaiShen,
"ChongSha": lunarData.Lunar.ChongSha,
"WuXingNaYin": lunarData.Lunar.WinXingNaYear + " " + lunarData.Lunar.WuxingNaMonth + " " + lunarData.Lunar.WuxingNaDay,
"WuXingRi": lunarData.Lunar.WuXingZhiXing + "执位",
"BaZi": lunarData.Lunar.BaZi,
"Yi": lunarData.Lunar.Yi.join('. '),
"Ji": lunarData.Lunar.Ji.join('. '),
"JiShen": lunarData.Lunar.JiShen.join('. '),
"XiongShen": lunarData.Lunar.XiongShen.join('. '),
"YueXiang": lunarData.Lunar.YueXiang + "月",
"JiaQi": (lunarData.HolidayUtil.JiaQi === null) ? "工作日" : (lunarData.HolidayUtil.JiaQi._p.name || "工作日"),
"ShiChen": ShiChen
};
return msg