<!-- markdownlint-disable -->
<div align="center">
<img width="120" src="./docs/image/../images/logo.png" style="text-align: center;" >
</div>
<h1 align="center">Lunisolar</h1>
![minzip](https://img.shields.io/bundlephobia/minzip/lunisolar)
![version](https://img.shields.io/npm/v/lunisolar)
![bulid](https://img.shields.io/github/actions/workflow/status/waterbeside/lunisolar/build.yml)
---
【[线上文档请点这里](https://lunisolar.js.org)】
---
**lunisolar** 是一个使用`Typescript`编写的专业农历库, 可取得各类农历数据,参考中国中代书籍,数据来源有依有据。支持多语言(可自定义语言包),支持自定义插件。
具体包含以下功能:
- ✅公历-阴历互转
- ✅阴历查询
- ✅八字查询
- ✅节气日期查询
- ✅胎神占方 (插件)
- ✅五行纳音 (插件)
- ✅神煞系统 (插件) <基于:协纪辨方书>
- ✅建除十二神
- ✅神煞宜忌
- ✅时辰凶吉
- ✅八字增强 (插件)
- ✅八字十神
- ✅四柱神煞
- ⏳~~紫微斗数~~ (planning)
- ...更多功能开发中
-----
- [快速上手](#快速上手)
- [前言](#前言)
- [\* 为何制作此库](#-为何制作此库)
- [\* 阴历和阳历](#-阴历和阳历)
- [\* 年和岁](#-年和岁)
- [\* 节和气](#-节和气)
- [\* 生肖和换岁](#-生肖和换岁)
- [\* 换日](#-换日)
- [\* 其它](#-其它)
- [1 安装](#1-安装)
- [1.1 Nodejs](#11-nodejs)
- [1.2 浏览器直接通过script引入](#12-浏览器直接通过script引入)
- [2 解释 (创建Lunisolar对象)](#2-解释-创建lunisolar对象)
- [2.1 解释 (Parse)](#21-解释-parse)
- [2.2 克隆 Lunisolar 实例对象](#22-克隆-lunisolar-实例对象)
- [2.3 阴历反查](#23-阴历反查)
- [3 Lunisolar类](#3-lunisolar类)
- [格式化数据 format](#格式化数据-format)
- [时间差 diff](#时间差-diff)
- [时间加减](#时间加减)
- [4. 阴历数据](#4-阴历数据)
- [4.1 取得阴历](#41-取得阴历)
- [4.2 Lunar类](#42-lunar类)
- [5 八字(天干地支)](#5-八字天干地支)
- [5.1 取得数据](#51-取得数据)
- [5.2 Char8类](#52-char8类)
- [5.3 SB类](#53-sb类)
- [5.4 Stem天干类](#54-stem天干类)
- [5.5 Branch地支类](#55-branch地支类)
- [5.6 Element5五行类](#56-element5五行类)
- [5.7 Trigram8 八卦类](#57-trigram8-八卦类)
- [5.8 八字增强插件](#58-八字增强插件)
- [6 节气](#6-节气)
- [7 胎神](#7-胎神)
- [7.1 用法](#71-用法)
- [8 纳音](#8-纳音)
- [9 建除十二神](#9-建除十二神)
- [10 神煞宜忌](#10-神煞宜忌)
- [插件 plugins](#插件-plugins)
- [国际化](#国际化)
- [\* 加载插件语言包](#-加载插件语言包)
- [\* 对语言包进行自定义](#-对语言包进行自定义)
- [支持](#支持)
## 快速上手
```typescript
// 引入
import lunisolar from 'lunisolar'
// 使用
const d = lunisolar('2022/07/18 14:40')
// --- format ---
d.format('lY年 lM(lL)lD lH時') // 可取得阴历日期 '二〇二二年 六月(大)二十 未時'
d.format('cY cM cD cH') // 可取得八字:'壬寅 丁未 壬申 丁未'
d.format('YYYY-MM-DD HH:mm:ss') // 2022-07-18 14:40:00
// --- 阴历---
d.lunar.toString() // 二〇二二年六月二十未時
`${d.lunar}` // 二〇二二年六月二十未時
d.lunar.year // 2022
d.lunar.getYearName() // 二〇二二
d.lunar.month // 6 (如果是闰六月会返回106)
d.lunar.getMonthName() // 六月
d.lunar.day // 20
d.lunar.getDayName() // 二十
d.lunar.hour // 7 (返回从0开始算的时辰下标)
d.lunar.getHourName() // 未
d.lunar.isLeapMonth // false (是否闰月)
// --- 八字 ----
`${d.char8}` // 壬寅 丁未 壬申 丁未
d.char8.year.toString() // 壬寅 (取得年柱)
d.char8.month.toString() // 丁未 (取得月柱)
d.char8.day.toString() // 壬申 (取得日柱)
d.char8.hour.toString() // 丁未 (取得时柱)
d.char8.year.stem.toString() // 壬 (年柱天干)
d.char8.year.branch.toString() // 寅 (年柱地支)
d.char8.year.branch.hiddenStems // [甲, 丙, 戊] (地支藏干的天干对象列表,顺序为本气、中气、余气)
// ...其它柱类似
// 节气
lunisolar('2022-07-23').solarTerm?.toString() // 大暑 (返回当天的节气,如果不是节气则solarTerm().solarTerm返回null)
// 阴历反查 (阴历转公历)
lunisolar.fromLunar({
year: 2022,
month: 10,
day: 25
}).fromat('YYYY-MM-DD') // 2022-11-18
```
## 前言
### * 为何制作此库
昔见不同版本日历(包括纸质日历和各类日历软件),其所示宜忌有所不同,更有相矛盾者,不知如何取用,故疑其推算依据是否误,本着宏扬传统文化之精神,离所有职务,查阅各资料文案,以制此库。
### * 阴历和阳历
现所用的中国传统历法,我们常称为农历,农历是阴阳合历,即包含了`阴历`和`阳历`,所以此库命名为`lunisolar`。
农历中,通过月相圆缺纪月,此属于**阴历**范畴,本库会以一个`Lunar`对象记录转换好的阴历数据。
而公历与阴历的转换没规律可言,故采用查表法进行转换,其数据来自香港天文台【[公历与农历日期对照表](https://www.hko.gov.hk/tc/gts/time/conversion1_text.htm#)】。其可查询年份范围为`[1901,2100]`。数据抓取和压缩的代码见仓库 [lunar-crawler](https://github.com/waterbeside/lunar-crawler),此处不作详细介绍。
属于阳历范畴的内容比较多,有二十四节气、天干地支等,传统很多术数多以阳历排盘,如八字、奇门遁甲...(也有少数以阴历排盘的,如紫微斗数)。其中二十四节气是阳历中十分重要的部分,其影响天干地支的**换岁**和**换月**。
### * 年和岁
在传统上,年和岁是两个不同的概念。
**年** 是指阴历正月初一到下一个正月初一的一个周期。
**岁** 是指太阳连续两次通过春分点的时间间隔,古人一般用‘冬至点’来观测,现代称作**回归年(tropical year)**,也叫 **太阳年(solar year)**。一个周期结束而开始下一个周期,称为`换岁`。
$$1回归年 = 365.2421990741日 = 365天5小時48分46秒$$
### * 节和气
我们常说的二十四节气,其实分为节和气两种,共十二节和十二气,节和气交替出现。天干地支纪月是以节换月的。
| | | | 节 | 气 |
| --- | --- | --- | --- | --- |
| | 孟春 | 寅月 | 立春 | 雨水 |
| 春 | 仲春 | 卯月 | 惊蛰 | 春分 |
| | 季春 | 辰月 | 清明 | 谷雨 |
| | 孟夏 | 巳月 | 立夏 | 小满 |
| 夏 | 仲夏 | 午月 | 芒种 | 夏至 |
| | 季夏 | 未月 | 小暑 | 大暑 |
| | 孟秋 | 申月 | 立秋 | 处暑 |
| 秋 | 仲秋 | 酉月 | 露水 | 秋分 |
| | 季秋 | 戌月 | 寒露 | 霜降 |
| | 孟冬 | 亥月 | 立冬 | 小雪 |
| 冬 | 仲冬 | 子月 | 大雪 | 冬至 |
| | 季冬 | 丑月 | 小寒 | 大寒 |
实际上,节气是某一个时刻,而这个时刻并不是固定在某天的某个时辰。但由于数据源只精确到日,所以本库的交节(更换八字月柱),也是以日为准。
### * 生肖和换岁
我们知道天干地支是基于二十四节气来定的。在民间,如八字命理这类术数,通常以**立春**换岁,即到了立春,便更换下一个天干地支纪年,例如今年为甲子年,则到下一个立春,则换成乙丑年。
但是,并不是所有术数都是以立春换岁,例如中医的五运六气,则以大寒日换岁。 而奇门遁甲则以冬至换岁,中气换月。
> `lunisolar`默认使用**立春**换岁, 当然你也可以自定义换岁的节气。
**生肖**:生肖与十二�
没有合适的资源?快使用搜索试试~ 我知道了~
python-note 菜鸟学习笔记.zip
共715个文件
py:390个
ts:122个
js:63个
需积分: 5 0 下载量 193 浏览量
2024-02-21
12:52:42
上传
评论
收藏 11.62MB ZIP 举报
温馨提示
python-note 菜鸟学习笔记
资源推荐
资源详情
资源评论
收起资源包目录
python-note 菜鸟学习笔记.zip (715个子文件)
scheduler.1d 6B
scheduler.1h 6B
scheduler.all 6B
scrapy.cfg 265B
cookie 6KB
data.csv 38KB
data.csv 3KB
lagou.db 12KB
project.db 12KB
task.db 0B
result.db 0B
Dockerfile 239B
.DS_Store 8KB
.DS_Store 6KB
.DS_Store 6KB
.eslintignore 35B
.gitignore 366B
.gitignore 84B
.gitignore 25B
text.html 1KB
test.html 380B
favicon.ico 6KB
python_base.ipynb 50KB
基础.ipynb 29KB
分析.ipynb 24KB
分析-checkpoint.ipynb 24KB
分析.ipynb 15KB
分析-checkpoint.ipynb 15KB
基础语法(二).ipynb 13KB
数组操作.ipynb 12KB
基础学习.ipynb 11KB
異常處理.ipynb 10KB
基础语法.ipynb 9KB
python操作mysql.ipynb 6KB
闭包.ipynb 5KB
元組.ipynb 4KB
菜鳥教程.ipynb 3KB
Untitled-checkpoint.ipynb 72B
bg_1.jpg 56KB
bg_2.jpg 54KB
timg.jpg 13KB
theGods.js 78KB
qimingpian.js 55KB
lunisolar.js 38KB
lunisolar.esm.js 37KB
oauth.js 33KB
char8ex.js 31KB
tenhou.net.js 31KB
15yunmall.com.js 23KB
sss.js 18KB
www.cls.js 18KB
passport.fang.com.js 15KB
zh-cn.js 12KB
hh1024.com.js 7KB
test.js 6KB
advanced.js 5KB
fetalGod.js 4KB
rollup.config.js 4KB
sign.js 3KB
takeSound.js 3KB
zh.js 2KB
IIFE.js 2KB
zh.js 2KB
webpack_test.js 2KB
youdao.js 2KB
en.js 2KB
自执行.js 2KB
ja.js 2KB
zh-cn.js 2KB
zh.js 2KB
changelog-config.js 2KB
zh-cn.js 2KB
des.js 1KB
3des.js 1KB
aes.js 1KB
open.js 1KB
.eslintrc.js 1KB
get_lun.js 1KB
zh-cn.js 1KB
zh.js 1021B
rsa.js 1013B
spa7.js 861B
en.js 816B
ja.js 727B
decode.js 655B
base64.js 640B
zh-cn.js 633B
zh.js 631B
rc4.js 598B
基本结构1.js 591B
基本结构2.js 584B
meizu.js 563B
jzsc.mohurd.gov.js 517B
sign.js 399B
.prettierrc.js 396B
基本结构3.js 375B
pbkdf2.js 312B
zh.js 291B
sha.js 222B
md5.js 200B
共 715 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
Kwan的解忧杂货铺
- 粉丝: 1w+
- 资源: 3622
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功