1
0
mirror of synced 2026-04-15 12:58:41 +08:00

Compare commits

...

15 Commits

Author SHA1 Message Date
6tail
004899148d v1.2.22 修复九星错误;修复太岁方位错误。 2022-01-06 19:58:02 +08:00
6tail
c142ad7f6c v1.2.21 修复八字转阳历的错误;优化代码。 2022-01-02 17:31:31 +08:00
6tail
8d131aa31a Merge pull request #4 from Weidge/master
bug修复:反推八字Solar_fromBaZi函数,在阳历元旦后、农历新年前,反推失败的bug
2022-01-01 22:53:01 +08:00
Weidge
34469699a5 bug修复:反推八字Solar_fromBaZi函数,在阳历元旦后、农历新年前,反推失败的bug 2022-01-01 15:17:30 +08:00
6tail
ca64cf0a73 v1.2.20 修复九星错误;新增太岁方位;新增道历天赦日;优化代码。 2021-12-31 23:44:31 +08:00
6tail
1f2c867028 v1.2.19 修复获取起运阳历日期后导致星期错误的问题;补充灶马头相关内容。 2021-12-23 19:29:26 +08:00
6tail
56addd223b v1.2.18 南京大XX纪念日更改为国家公祭日;新增初候、二候、三候;新增三元九运;新增道历戊日;修复一些小bug。 2021-12-22 19:42:20 +08:00
6tail
90f59ec8f9 v1.2.17 佛历新增27宿;修复宜忌重复的问题;修复获取气时缺冬至的问题。 2021-12-08 21:18:53 +08:00
6tail
c902374dd7 v1.2.16 新增道历。 2021-11-23 21:32:25 +08:00
6tail
2106d0ee62 v1.2.15 修复星宿方位错误。 2021-11-20 20:22:49 +08:00
6tail
6af2de6a6e v1.2.14 修正胎神数据;增加福神流派。 2021-11-14 10:16:24 +08:00
6tail
7475d1d315 v1.2.13 新增2022年法定假日。 2021-11-02 22:10:50 +08:00
6tail
61512a3433 v1.2.12 恢复Lunar中的getOtherFestivals方法并更改为传统节日。 2021-10-27 21:04:37 +08:00
6tail
48b5e73de9 v1.2.11 恢复Solar中误删的getOtherFestivals方法。 2021-10-23 17:53:19 +08:00
6tail
d231120fdf v1.2.10 新增佛历Foto;移除Lunar中的getOtherFestivals方法。 2021-10-23 12:26:18 +08:00
10 changed files with 1414 additions and 217 deletions

View File

@@ -1,6 +1,6 @@
# lunar [![License](https://img.shields.io/badge/license-MIT-4EB1BA.svg?style=flat-square)](https://github.com/6tail/lunar-javascript/blob/master/LICENSE)
lunar是一款无第三方依赖的公历(阳历)农历(阴历、老黄历)工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。
lunar是一款无第三方依赖的公历(阳历)农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。
[English](https://github.com/6tail/lunar-javascript/blob/master/README_EN.md)

15
__tests__/Foto.test.js Normal file
View File

@@ -0,0 +1,15 @@
var {Foto, Lunar} = require('../lunar');
test('test1()', () => {
const foto = Foto.fromLunar(Lunar.fromYmd(2021, 10, 14));
expect(foto.toFullString()).toBe('二五六五年十月十四 (三元降) (四天王巡行)');
});
test('test2()', () => {
const foto = Foto.fromLunar(Lunar.fromYmd(2020, 4, 13));
expect(foto.getXiu()).toBe('氐');
expect(foto.getZheng()).toBe('土');
expect(foto.getAnimal()).toBe('貉');
expect(foto.getGong()).toBe('东');
expect(foto.getShou()).toBe('青龙');
});

View File

@@ -95,3 +95,11 @@ test('test8', () => {
const lunar = Lunar.fromYmd(2050, 12, 1);
expect(lunar.getJieQiTable()['大雪'].toYmdHms()).toBe('2050-12-07 06:41:00');
});
test('test9', () => {
const solar = Solar.fromYmd(2021, 12, 21);
const lunar = solar.getLunar();
expect(lunar.getJieQi()).toBe('冬至');
expect(lunar.getJie()).toBe('');
expect(lunar.getQi()).toBe('冬至');
});

View File

@@ -415,12 +415,12 @@ test('test022', () => {
test('test023', () => {
const lunar = Lunar.fromYmd(2022, 1, 1);
expect(lunar.getYearNineStar().toString()).toBe('五黄土玉衡');
expect(lunar.getYearNineStar().toString()).toBe('六白金开阳');
});
test('test024', () => {
const lunar = Lunar.fromYmd(2033, 1, 1);
expect(lunar.getYearNineStar().toString()).toBe('三碧木天');
expect(lunar.getYearNineStar().toString()).toBe('四绿木天');
});
test('test025', () => {
@@ -545,3 +545,28 @@ test('test047', () => {
const lunar = Solar.fromYmd(2017, 2, 15).getLunar();
expect(lunar.getDayLu()).toBe('子命互禄 辛命进禄');
});
test('test048', () => {
const lunar = Solar.fromYmd(2021, 11, 13).getLunar();
expect(lunar.getDayPositionTai()).toBe('碓磨厕 外东南');
});
test('test049', () => {
const lunar = Solar.fromYmd(2021, 11, 12).getLunar();
expect(lunar.getDayPositionTai()).toBe('占门碓 外东南');
});
test('test050', () => {
const lunar = Solar.fromYmd(2021, 11, 13).getLunar();
expect(lunar.getDayPositionFuDesc()).toBe('西南');
});
test('test051', () => {
const lunar = Solar.fromYmd(2021, 11, 12).getLunar();
expect(lunar.getDayPositionFuDesc()).toBe('正北');
});
test('test052', () => {
const lunar = Solar.fromYmd(2011, 11, 12).getLunar();
expect(lunar.getDayPositionTai()).toBe('厕灶厨 外西南');
});

View File

@@ -22,3 +22,68 @@ test('test4', () => {
const year = LunarYear.fromYear(2021);
expect(year.getGengTian()).toBe('十一牛耕田');
});
test('test5', () => {
const year = LunarYear.fromYear(1864);
expect(year.getYuan()).toBe('上元');
});
test('test6', () => {
const year = LunarYear.fromYear(1923);
expect(year.getYuan()).toBe('上元');
});
test('test7', () => {
const year = LunarYear.fromYear(1924);
expect(year.getYuan()).toBe('中元');
});
test('test8', () => {
const year = LunarYear.fromYear(1983);
expect(year.getYuan()).toBe('中元');
});
test('test9', () => {
const year = LunarYear.fromYear(1984);
expect(year.getYuan()).toBe('下元');
});
test('test10', () => {
const year = LunarYear.fromYear(2043);
expect(year.getYuan()).toBe('下元');
});
test('test11', () => {
const year = LunarYear.fromYear(1864);
expect(year.getYun()).toBe('一运');
});
test('test12', () => {
const year = LunarYear.fromYear(1883);
expect(year.getYun()).toBe('一运');
});
test('test13', () => {
const year = LunarYear.fromYear(1884);
expect(year.getYun()).toBe('二运');
});
test('test14', () => {
const year = LunarYear.fromYear(1903);
expect(year.getYun()).toBe('二运');
});
test('test15', () => {
const year = LunarYear.fromYear(1904);
expect(year.getYun()).toBe('三运');
});
test('test16', () => {
const year = LunarYear.fromYear(1923);
expect(year.getYun()).toBe('三运');
});
test('test17', () => {
const year = LunarYear.fromYear(2004);
expect(year.getYun()).toBe('八运');
});

View File

@@ -5,7 +5,7 @@ test('test', () => {
expect(solar.toString()).toBe('2019-05-01');
expect(solar.toFullString()).toBe('2019-05-01 00:00:00 星期三 (劳动节) 金牛座');
expect(solar.getLunar().toString()).toBe('二〇一九年三月廿七');
expect(solar.getLunar().toFullString()).toBe('二〇一九年三月廿七 己亥(猪)年 戊辰(龙)月 戊戌(狗)日 子(鼠)时 纳音[平地木 大林木 平地木 桑柘木] 星期三 (七殿泰山王诞) 西方白虎 星宿[参水猿](吉) 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[](北) 财神方位[坎](正北) 冲[(壬辰)龙] 煞[北]');
expect(solar.getLunar().toFullString()).toBe('二〇一九年三月廿七 己亥(猪)年 戊辰(龙)月 戊戌(狗)日 子(鼠)时 纳音[平地木 大林木 平地木 桑柘木] 星期三 西方白虎 星宿[参水猿](吉) 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[](北) 财神方位[坎](正北) 冲[(壬辰)龙] 煞[北]');
});
test('1', () => {

View File

@@ -53,3 +53,27 @@ test('test9()', () => {
const lunar = solar.getLunar();
expect(lunar.getWuHou()).toBe('蚯蚓结');
});
test('test10', () => {
const solar = Solar.fromYmd(2021,12,21);
const lunar = solar.getLunar();
expect(lunar.getHou()).toBe('冬至 初候');
});
test('test11', () => {
const solar = Solar.fromYmd(2021,12,26);
const lunar = solar.getLunar();
expect(lunar.getHou()).toBe('冬至 二候');
});
test('test12', () => {
const solar = Solar.fromYmd(2021,12,31);
const lunar = solar.getLunar();
expect(lunar.getHou()).toBe('冬至 三候');
});
test('test13', () => {
const solar = Solar.fromYmd(2022,1,5);
const lunar = solar.getLunar();
expect(lunar.getHou()).toBe('小寒 初候');
});

View File

@@ -1,8 +1,10 @@
const {Solar, Lunar, NineStar, EightChar, SolarWeek, SolarMonth, SolarSeason, SolarHalfYear, SolarYear, LunarMonth, LunarYear, LunarTime, ShouXingUtil, SolarUtil, LunarUtil, HolidayUtil} = require('./lunar.js')
const {Solar, Lunar, Foto, Tao, NineStar, EightChar, SolarWeek, SolarMonth, SolarSeason, SolarHalfYear, SolarYear, LunarMonth, LunarYear, LunarTime, ShouXingUtil, SolarUtil, LunarUtil, FotoUtil, TaoUtil, HolidayUtil} = require('./lunar.js')
module.exports = {
Solar: Solar,
Lunar: Lunar,
Foto: Foto,
Tao: Tao,
NineStar: NineStar,
EightChar: EightChar,
SolarWeek: SolarWeek,
@@ -16,5 +18,7 @@ module.exports = {
ShouXingUtil: ShouXingUtil,
SolarUtil: SolarUtil,
LunarUtil: LunarUtil,
FotoUtil: FotoUtil,
TaoUtil: TaoUtil,
HolidayUtil: HolidayUtil
}

1478
lunar.js

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"name": "lunar-javascript",
"version": "1.2.9",
"version": "1.2.22",
"description": "lunar is a calendar library for Solar and Chinese Lunar.",
"main": "index.js",
"scripts": {