npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

shiren-columns

v0.8.9

Published

实仁排盘四柱、大运、流年

Downloads

20

Readme

实仁·排盘

安装

yarn add shiren-columns
npm i shiren-columns

索引转文字

console.log(Str.o(1)) // 阳
console.log(Str.g(1)) // 乙
console.log(Str.g(0, 1, 2)) // 甲乙丙
console.log(Str.z(1)) // 丑
console.log(Str.e(1)) // 木
console.log(Str.spirits(1)) // 比肩
console.log(Str.spirits10(0, 1)) // 印卩

八字排盘数据

"use strict";

import {Builder} from "shiren-columns";
import {plate} from "shiren-calendar";

// 获取基础的排盘信息
const info = plate(false, 1989, 11, 6, 18)

// 获取日干
const dg = info.basic.g[2]

// 把四柱天干|地支索引转换为对应的天干颜色
info.basic.g = Builder.g(dg, info.basic.g)
info.basic.z = Builder.z(dg, info.basic.z)

// 把大运的天干|地支索引转换为对应的天干颜色
info.lucky.g = Builder.g(dg, info.lucky.g)
info.lucky.z = Builder.z(dg, info.lucky.z)

// 获取流年
const years = Builder.year(1990).map((item) => { return Builder.gz(dg, item) })
console.log(years)

// 获取流月
const months = Builder.month(1990).map((item) => { return Builder.gz(dg, item) })
console.log(months)

// 获取流日 2月对应的索引为0,3-1..
const days = Builder.day(1990, months[0].month, months[0].day, months[0].dm, months[0].dd).map((item) => { return Builder.gz(dg, item) })
console.log(days)

// 获取流时
const hours = Builder.hour(days[0].hourG).map((item) => { return Builder.gz(dg, item) })
console.log(hours)

八字排盘计算原理

  • 四柱

  • 大运 根据四柱之一的月柱的干支为起点,以年干和命主的性别的关系进行排列

    1. 年干为'甲丙戊庚壬'则男顺女逆
    2. 年干为'乙丁己辛癸'则女顺男逆

    如 男出生时间为2021-11-18 16:33:34, 则八字为:

    | 年柱 | 月柱 | 日柱 | 时柱 | | :--: | :--------------: | :--: | :--: | | 辛 | [戊<-] 己 [->庚] | 庚 | 甲 | | 丑 | [戌<-] 亥 [->子] | 午 | 申 |

    因为 年干为辛,且为男,则符合规则ii,得出需要逆排。顺排为庚子辛丑...,逆排为戊戌丁酉...,则此人大运如下:

    | 2025 | 2035 | 2045 | 2055 | ··· | | :--: | :--: | :--: | :--: | ---- | | 戊 | 丁 | 丙 | 乙 | ··· | | 戌 | 酉 | 申 | 未 | ··· |

    起运时间计算:公历A转为农历B,农历B年份加上起运年龄,月、天不变,则新的农历B1日期时间则为起运日期,如果B1对应的公历A1不存在,则进行闰月和减一天的操作,让A1存在

    如 男生于1982-1-26 11:00:00,转为农历为1982年农历正月初二;根据男女顺逆,求出距离的节气的天数为20.45天,四舍五入为20除3取整为6,则六岁起运。起运日期则为1988年正月初二,转为公历为1989年2月7日

  • 流年 流年当年对应的年份所对应的干支。如2021年对应辛丑年。
    因为干支纪年法只有60种,可以通过公式计算出是哪一种
    公元1年对应的纪年法为57,57 % 10 = 7(辛),57 % 12 = 9(酉),即辛酉年。
    则公元后的年份可总结公式为 (year + 56) % 60 ,如 2021年代入得37,余数分别为7,1,即辛丑年
    则公元前的年份可总结公式为 (60 + (year - 3) % 60) % 60 ,如 -1年代入得56,余数分别为6,8,即庚申年

  • 流月

    每年有12个月,每个流月的开始以对应的节气为开始,到下一个节气结束。 而每年的第一个节气为立春,通过计算立春后第一个节气的具体时间,进一步换算成四柱八字,其中的月柱则为第一个流月(即2月)的干支,其他11个流月则依次按干支计时法往下排即可
    总结以上排法,可以的出年上起月法。
    如2021年为辛丑年,符合年上起月法的丙辛之岁寻庚上, 则2021年的2月份为庚寅月, 如1987年丁卯年,符合年上起月法的丁壬壬寅顺水流, 则2021年的2月份为壬寅月,

  • 流日

    即当前月的节气到下一个月的节气对应的日期干支。 如1990年的立春(2月4日)到惊蛰(3月6日),则这段时间的日子即为1990年2月份的流日。
    通过计算1990年2月共有28天,则这段日子为 2月4日、2月5日、2月6日...2月28日、3月1日...3月5日。

  • 流时

    某一天对应的24小时对应的干支。可以通过日上起时法,来确定对应的起始时干,时支的起始永远为子时。 如1990年2月24日,为庚午年戊寅月[庚子]日,根据日上起时法乙庚丙作初,则起始时干为丙,则0~1点对应的干支为丙子时,1~3为丁丑时...

  • 年上起月法

    甲己之年丙作首,乙庚之年戊为头
    丙辛之岁寻庚上,丁壬壬寅顺水流
    若问戊癸何处起,甲寅之上好追求

  • 日上起时法

    甲己还加甲,乙庚丙作初
    丙辛从戊起,丁壬庚子居
    戊癸何方发,壬子是真途