Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/mooncaker816/go-calendar

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/mooncaker816/go-calendar

  • v0.0.0-20180619151348-102fa8e36f6e
  • Source
  • Go
  • Socket score

Version published
Created
Source

go-calendar

Build Status GoDoc

1. 安装

1.1 VSOP87

本项目主要是根据 Jean Meeus 的天文算法来计算天体位置,引用了实现该算法的库soniakeys/meeus
"VSOP87"数据文件作为天文算法中采用的VSOP87行星理论的必要文件,需要在此项目中作为环境变量导入使用。
数据文件在本项目的 VSOP87目录中,可以下载到任何目录,添加环境变量VSOP87即可。

1.2 go-calendar package

安装本项目只需执行以下命令即可。

go get github.com/mooncaker816/go-calendar/...

2. 适用范围

推荐: 公元前722年 - 公元3000年

3. 一些程序选用的定历规则

  • 朔气同日,朔在前
  • 纪年干支以春节为界,纪月干支以朔日为界(闰月同上月)
  • 四柱:年柱以立春为界,月柱以节为界,日柱以零点为界,时柱以北京时间为准,未考虑地方时

4. 农历转阳历LunarToSolar

  1. 正月-十二月依次对应月份值1-12,若为闰月,置 leap 标记为 true
  2. 若查询的是武则天改历期间的农历正月,由于有一月的并存,请以11作为正月的值输入,其他不变
  3. 若查询的是秦历后九月,周历闰十三月当作闰九月和闰十二月处理,对应的月份值分别为9,12

5. 阳历转农历SolarToLunar

  1. 若输入的阳历日期在1582年10月4日之前(包含),则以儒略历日期计算农历,反之以格里历计算
  2. 函数返回农历年,月,日,以及闰月标志

6. 日历DayCalendar

	day, err := DayCalendar(2018, 6, 6, true, nil)
	if err != nil {
		fmt.Printf("DayCalendar failed:%v\n", err)
		return
	}
	fmt.Println(day)
公元2018年6月6日
星期三 双子座
JD 2458276
农历【狗】四月(大)廿三
戊戌年 丁巳月 己巳日
四柱:戊戌 戊午 己巳 甲子

7. 月历MonthCalendar

	month, err := MonthCalendar(1998, 6, true, nil)
	if err != nil {
		fmt.Printf("MonthCalendar failed:%v\n", err)
		return
	}
	fmt.Println(month)
📅                    6月
     日    一    二    三    四    五    六
☀️         ㏠    ㏡    ㏢    ㏣    ㏤    ㏥
🌛        初七  初八  初九  初十  十一  十二
☀️   ㏦    ㏧    ㏨    ㏩    ㏪    ㏫    ㏬
🌛  十三  十四  十五  十六  十七  十八  十九
☀️   ㏭    ㏮    ㏯    ㏰    ㏱    ㏲    ㏳
🌛  二十  廿一  廿二  廿三  廿四  廿五  廿六
☀️   ㏴    ㏵    ㏶    ㏷    ㏸    ㏹    ㏺
🌛  廿七  廿八  廿九  五月® 初二  初三  初四
☀️   ㏻    ㏼    ㏽
🌛  初五  初六  初七

芒种:6日 5ʰ13ᵐ23ˢ
夏至:21日 22ʰ2ᵐ35ˢ

8. 年历YearCalendar

	year, err := YearCalendar(2017, true)
	if err != nil {
		fmt.Printf("YearCalendar failed:%v\n", err)
		return
	}
	fmt.Println(year)
🗓️                 2017年(平)
📅                    1月
     日    一    二    三    四    五    六
☀️   ㏠    ㏡    ㏢    ㏣    ㏤    ㏥    ㏦
🌛  初四  初五  初六  初七  初八  初九  初十
☀️   ㏧    ㏨    ㏩    ㏪    ㏫    ㏬    ㏭
🌛  十一  十二  十三  十四  十五  十六  十七
☀️   ㏮    ㏯    ㏰    ㏱    ㏲    ㏳    ㏴
🌛  十八  十九  二十  廿一  廿二  廿三  廿四
☀️   ㏵    ㏶    ㏷    ㏸    ㏹    ㏺    ㏻
🌛  廿五  廿六  廿七  廿八  廿九  三十  正月
☀️   ㏼    ㏽    ㏾
🌛  初二  初三  初四

小寒:5日 11ʰ55ᵐ44ˢ
大寒:20日 5ʰ23ᵐ36ˢ
📅                    2月
     日    一    二    三    四    五    六
☀️                     ㏠    ㏡    ㏢    ㏣
🌛                    初五  初六  初七  初八
☀️   ㏤    ㏥    ㏦    ㏧    ㏨    ㏩    ㏪
🌛  初九  初十  十一  十二  十三  十四  十五
☀️   ㏫    ㏬    ㏭    ㏮    ㏯    ㏰    ㏱
🌛  十六  十七  十八  十九  二十  廿一  廿二
☀️   ㏲    ㏳    ㏴    ㏵    ㏶    ㏷    ㏸
🌛  廿三  廿四  廿五  廿六  廿七  廿八  廿九
☀️   ㏹    ㏺    ㏻
🌛  二月  初二  初三

立春:3日 23ʰ34ᵐ3ˢ
雨水:18日 19ʰ31ᵐ19ˢ
📅                    3月
     日    一    二    三    四    五    六
☀️                     ㏠    ㏡    ㏢    ㏣
🌛                    初四  初五  初六  初七
☀️   ㏤    ㏥    ㏦    ㏧    ㏨    ㏩    ㏪
🌛  初八  初九  初十  十一  十二  十三  十四
☀️   ㏫    ㏬    ㏭    ㏮    ㏯    ㏰    ㏱
🌛  十五  十六  十七  十八  十九  二十  廿一
☀️   ㏲    ㏳    ㏴    ㏵    ㏶    ㏷    ㏸
🌛  廿二  廿三  廿四  廿五  廿六  廿七  廿八
☀️   ㏹    ㏺    ㏻    ㏼    ㏽    ㏾
🌛  廿九  三十  三月  初二  初三  初四

惊蛰:5日 17ʰ32ᵐ43ˢ
春分:20日 18ʰ28ᵐ38ˢ
📅                    4月
     日    一    二    三    四    五    六
☀️                                       ㏠
🌛                                      初五
☀️   ㏡    ㏢    ㏣    ㏤    ㏥    ㏦    ㏧
🌛  初六  初七  初八  初九  初十  十一  十二
☀️   ㏨    ㏩    ㏪    ㏫    ㏬    ㏭    ㏮
🌛  十三  十四  十五  十六  十七  十八  十九
☀️   ㏯    ㏰    ㏱    ㏲    ㏳    ㏴    ㏵
🌛  二十  廿一  廿二  廿三  廿四  廿五  廿六
☀️   ㏶    ㏷    ㏸    ㏹    ㏺    ㏻    ㏼
🌛  廿七  廿八  廿九  四月  初二  初三  初四
☀️   ㏽
🌛  初五

清明:4日 22ʰ17ᵐ19ˢ
谷雨:20日 5ʰ27ᵐ0ˢ
📅                    5月
     日    一    二    三    四    五    六
☀️         ㏠    ㏡    ㏢    ㏣    ㏤    ㏥
🌛        初六  初七  初八  初九  初十  十一
☀️   ㏦    ㏧    ㏨    ㏩    ㏪    ㏫    ㏬
🌛  十二  十三  十四  十五  十六  十七  十八
☀️   ㏭    ㏮    ㏯    ㏰    ㏱    ㏲    ㏳
🌛  十九  二十  廿一  廿二  廿三  廿四  廿五
☀️   ㏴    ㏵    ㏶    ㏷    ㏸    ㏹    ㏺
🌛  廿六  廿七  廿八  廿九  三十  五月  初二
☀️   ㏻    ㏼    ㏽    ㏾
🌛  初三  初四  初五  初六

立夏:5日 15ʰ31ᵐ2ˢ
小满:21日 4ʰ30ᵐ55ˢ
📅                    6月
     日    一    二    三    四    五    六
☀️                           ㏠    ㏡    ㏢
🌛                          初七  初八  初九
☀️   ㏣    ㏤    ㏥    ㏦    ㏧    ㏨    ㏩
🌛  初十  十一  十二  十三  十四  十五  十六
☀️   ㏪    ㏫    ㏬    ㏭    ㏮    ㏯    ㏰
🌛  十七  十八  十九  二十  廿一  廿二  廿三
☀️   ㏱    ㏲    ㏳    ㏴    ㏵    ㏶    ㏷
🌛  廿四  廿五  廿六  廿七  廿八  廿九  六月
☀️   ㏸    ㏹    ㏺    ㏻    ㏼    ㏽
🌛  初二  初三  初四  初五  初六  初七

芒种:5日 19ʰ36ᵐ36ˢ
夏至:21日 12ʰ24ᵐ8ˢ
📅                    7月
     日    一    二    三    四    五    六
☀️                                       ㏠
🌛                                      初八
☀️   ㏡    ㏢    ㏣    ㏤    ㏥    ㏦    ㏧
🌛  初九  初十  十一  十二  十三  十四  十五
☀️   ㏨    ㏩    ㏪    ㏫    ㏬    ㏭    ㏮
🌛  十六  十七  十八  十九  二十  廿一  廿二
☀️   ㏯    ㏰    ㏱    ㏲    ㏳    ㏴    ㏵
🌛  廿三  廿四  廿五  廿六  廿七  廿八  廿九
☀️   ㏶    ㏷    ㏸    ㏹    ㏺    ㏻    ㏼
🌛  六月® 初二  初三  初四  初五  初六  初七
☀️   ㏽    ㏾
🌛  初八  初九

小暑:7日 5ʰ50ᵐ41ˢ
大暑:22日 23ʰ15ᵐ21ˢ
📅                    8月
     日    一    二    三    四    五    六
☀️               ㏠    ㏡    ㏢    ㏣    ㏤
🌛              初十  十一  十二  十三  十四
☀️   ㏥    ㏦    ㏧    ㏨    ㏩    ㏪    ㏫
🌛  十五  十六  十七  十八  十九  二十  廿一
☀️   ㏬    ㏭    ㏮    ㏯    ㏰    ㏱    ㏲
🌛  廿二  廿三  廿四  廿五  廿六  廿七  廿八
☀️   ㏳    ㏴    ㏵    ㏶    ㏷    ㏸    ㏹
🌛  廿九  三十  七月  初二  初三  初四  初五
☀️   ㏺    ㏻    ㏼    ㏽    ㏾
🌛  初六  初七  初八  初九  初十

立秋:7日 15ʰ39ᵐ59ˢ
处暑:23日 6ʰ20ᵐ12ˢ
📅                    9月
     日    一    二    三    四    五    六
☀️                                 ㏠    ㏡
🌛                                十一  十二
☀️   ㏢    ㏣    ㏤    ㏥    ㏦    ㏧    ㏨
🌛  十三  十四  十五  十六  十七  十八  十九
☀️   ㏩    ㏪    ㏫    ㏬    ㏭    ㏮    ㏯
🌛  二十  廿一  廿二  廿三  廿四  廿五  廿六
☀️   ㏰    ㏱    ㏲    ㏳    ㏴    ㏵    ㏶
🌛  廿七  廿八  廿九  八月  初二  初三  初四
☀️   ㏷    ㏸    ㏹    ㏺    ㏻    ㏼    ㏽
🌛  初五  初六  初七  初八  初九  初十  十一

白露:7日 18ʰ38ᵐ36ˢ
秋分:23日 4ʰ1ᵐ47ˢ
📅                    10月
     日    一    二    三    四    五    六
☀️   ㏠    ㏡    ㏢    ㏣    ㏤    ㏥    ㏦
🌛  十二  十三  十四  十五  十六  十七  十八
☀️   ㏧    ㏨    ㏩    ㏪    ㏫    ㏬    ㏭
🌛  十九  二十  廿一  廿二  廿三  廿四  廿五
☀️   ㏮    ㏯    ㏰    ㏱    ㏲    ㏳    ㏴
🌛  廿六  廿七  廿八  廿九  三十  九月  初二
☀️   ㏵    ㏶    ㏷    ㏸    ㏹    ㏺    ㏻
🌛  初三  初四  初五  初六  初七  初八  初九
☀️   ㏼    ㏽    ㏾
🌛  初十  十一  十二

寒露:8日 10ʰ22ᵐ7ˢ
霜降:23日 13ʰ26ᵐ40ˢ
📅                    11月
     日    一    二    三    四    五    六
☀️                     ㏠    ㏡    ㏢    ㏣
🌛                    十三  十四  十五  十六
☀️   ㏤    ㏥    ㏦    ㏧    ㏨    ㏩    ㏪
🌛  十七  十八  十九  二十  廿一  廿二  廿三
☀️   ㏫    ㏬    ㏭    ㏮    ㏯    ㏰    ㏱
🌛  廿四  廿五  廿六  廿七  廿八  廿九  十月
☀️   ㏲    ㏳    ㏴    ㏵    ㏶    ㏷    ㏸
🌛  初二  初三  初四  初五  初六  初七  初八
☀️   ㏹    ㏺    ㏻    ㏼    ㏽
🌛  初九  初十  十一  十二  十三

立冬:7日 13ʰ37ᵐ48ˢ
小雪:22日 11ʰ4ᵐ38ˢ
📅                    12月
     日    一    二    三    四    五    六
☀️                                 ㏠    ㏡
🌛                                十四  十五
☀️   ㏢    ㏣    ㏤    ㏥    ㏦    ㏧    ㏨
🌛  十六  十七  十八  十九  二十  廿一  廿二
☀️   ㏩    ㏪    ㏫    ㏬    ㏭    ㏮    ㏯
🌛  廿三  廿四  廿五  廿六  廿七  廿八  廿九
☀️   ㏰    ㏱    ㏲    ㏳    ㏴    ㏵    ㏶
🌛  三十  冬月  初二  初三  初四  初五  初六
☀️   ㏷    ㏸    ㏹    ㏺    ㏻    ㏼    ㏽
🌛  初七  初八  初九  初十  十一  十二  十三
☀️   ㏾
🌛  十四

大雪:7日 6ʰ32ᵐ39ˢ
冬至:22日 27ᵐ56ˢ

9. 精度

推荐1654到未来200年间,精度较高,以下是与寿星天文历的相对误差,可作参考

年份平均相差ΔT取值相差忽略ΔT后相差
1600≈1m20s20s≈1m
1700≈5s1.8s≈3.2s
1800≈5s2.1s≈2.9s
1900≈2s1.2s≈0.8s
2000≈20-30s25s≈5s
2100≈2m30s0s≈2m30s
2200≈2m30s0s≈2m30s
2300≈8m0s≈8m
2400≈18m0s≈18m
2500≈30m0s≈30m
2600≈45m0s≈45m
2700≈1h5m0s≈1h5m

FAQs

Package last updated on 19 Jun 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc