【愚公系列】2023年02月 .NET CORE工具案例-Lunar日历转换

举报
愚公搬代码 发表于 2023/02/28 22:47:25 2023/02/28
【摘要】 前言真正的日历产生,大约在一千一百多年前的唐顺宗永贞元年,皇宫中就已经使用皇历。最初一天一页,记载国家、宫廷大事和皇帝的言行。皇历分为十二册,每册的页数和每月的天数一样,每一页都注明了天数和日期。如今通行的日历,不管是纸质出版物还是手机应用、电子台历,通常都会载有公历、农历和干支历这三种历法。下面列举些日历的说明:阳历:阳历周、月、季度、半年、年,闰年、年天数、月天数等阴历:节气、干支、三...

前言

真正的日历产生,大约在一千一百多年前的唐顺宗永贞元年,皇宫中就已经使用皇历。最初一天一页,记载国家、宫廷大事和皇帝的言行。皇历分为十二册,每册的页数和每月的天数一样,每一页都注明了天数和日期。如今通行的日历,不管是纸质出版物还是手机应用、电子台历,通常都会载有公历、农历和干支历这三种历法。

下面列举些日历的说明:

  • 阳历:阳历周、月、季度、半年、年,闰年、年天数、月天数等
  • 阴历:节气、干支、三伏、生肖、八卦方位、吉神方位等
  • 佛历:因果犯忌、月斋、观音斋、朔望斋等
  • 道历:三会日、三元日、八节日、五腊日、八会日、戊日等

lunar是一个支持阳历、阴历、佛历和道历的日历工具库,它开源免费,有多种开发语言的版本,不依赖第三方,支持阳历、阴历、佛历、道历、儒略日的相互转换,它能用来制作日历,甚至算命。

除此之外,还支持星座、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。

支持的时间跨度约为0001年至9999年。

Lunar 文档:https://6tail.cn/calendar/api.html#overview.html
在这里插入图片描述

Lunar Gitee:https://gitee.com/6tail/lunar-csharp
在这里插入图片描述
Lunar有多个开发语言版本:javascript、java、c#、php、python、go、typescript、flutter、swift。

一、Lunar日历转换

1.安装包

lunar-csharp

在这里插入图片描述

2.相关代码

// 阳历
using Lunar.Util;
using Lunar;

var solar = new Solar(2023, 2, 13, 16, 25);
Console.WriteLine(solar);
Console.WriteLine(solar.FullString);

// 阴历
var lunar = solar.Lunar;
Console.WriteLine(lunar);
Console.WriteLine(lunar.FullString);

// 八字
var baZi = lunar.EightChar;
Console.WriteLine(baZi.Year + " " + baZi.Month + " " + baZi.Day + " " + baZi.Time);

// 八字纳音
Console.WriteLine(baZi.YearNaYin + " " + baZi.MonthNaYin + " " + baZi.DayNaYin + " " + baZi.TimeNaYin);

// 八字五行
Console.WriteLine(baZi.YearWuXing + " " + baZi.MonthWuXing + " " + baZi.DayWuXing + " " + baZi.TimeWuXing);

// 八字天干十神
Console.WriteLine(baZi.YearShiShenGan + " " + baZi.MonthShiShenGan + " " + baZi.DayShiShenGan + " " + baZi.TimeShiShenGan);

// 八字地支十神
Console.WriteLine(baZi.YearShiShenZhi[0] + " " + baZi.MonthShiShenZhi[0] + " " + baZi.DayShiShenZhi[0] + " " + baZi.TimeShiShenZhi[0]);

// 八字年支十神
foreach (var s in baZi.YearShiShenZhi)
{
    Console.Write(s + " ");
}
Console.WriteLine();

// 八字月支十神
foreach (var s in baZi.MonthShiShenZhi)
{
    Console.Write(s + " ");
}
Console.WriteLine();

// 八字日支十神
foreach (var s in baZi.DayShiShenZhi)
{
    Console.Write(s + " ");
}
Console.WriteLine();

// 八字时支十神
foreach (var s in baZi.TimeShiShenZhi)
{
    Console.Write(s + " ");
}
Console.WriteLine();

// 八字胎元
Console.WriteLine(baZi.TaiYuan);

// 八字命宫
Console.WriteLine(baZi.MingGong);

// 八字身宫
Console.WriteLine(baZi.ShenGong);

Console.WriteLine();
solar = new Solar(2023, 2, 13, 16);
lunar = solar.Lunar;
baZi = lunar.EightChar;

// 男运
var yun = baZi.GetYun(1);
Console.WriteLine("阳历" + solar.YmdHms + "出生");
Console.WriteLine("出生" + yun.StartYear + "年" + yun.StartMonth + "个月" + yun.StartDay + "天后起运");
Console.WriteLine("阳历" + yun.StartSolar.Ymd + "后起运");
Console.WriteLine();

// 节假日
var holidays = HolidayUtil.GetHolidays(2023);
foreach (var holiday in holidays)
{
    Console.WriteLine(holiday);
}
Console.WriteLine();

// 八字转阳历
var solarList = Solar.FromBaZi("庚子", "戊子", "己卯", "庚午");
foreach (var d in solarList)
{
    Console.WriteLine(d.FullString);
}
Console.WriteLine();

3.运行

2023-02-13
2023-02-13 16:25:00 星期一 水瓶座
二〇二三年正月廿三
二〇二三年正月廿三 癸卯()甲寅()壬寅()()时 纳音[金箔金 大溪水 金箔金 大驿土] 星期一 东方青龙 星宿[心月狐]() 彭祖百忌[壬不泱水更难提防 寅不祭祀神鬼不尝] 喜神方位[](正南) 阳贵神方位[](正东) 阴贵神方位[](东南) 福神方
位[](东南) 财神方位[](正南)[(丙申)][]
癸卯 甲寅 壬寅 戊申
金箔金 大溪水 金箔金 大驿土
水木 木木 水木 土金
劫财 食神 日主 七杀
伤官 食神 食神 偏印
伤官
食神 偏财 七杀
食神 偏财 七杀
偏印 比肩 七杀
乙巳
己未
癸亥

阳历2023-02-13 16:00:00出生
出生31个月0天后起运
阳历2026-03-13后起运

2023-01-01 元旦节 2023-01-01
2023-01-02 元旦节 2023-01-01
2023-01-21 春节 2023-01-22
2023-01-22 春节 2023-01-22
2023-01-23 春节 2023-01-22
2023-01-24 春节 2023-01-22
2023-01-25 春节 2023-01-22
2023-01-26 春节 2023-01-22
2023-01-27 春节 2023-01-22
2023-01-28 春节调休 2023-01-22
2023-01-29 春节调休 2023-01-22
2023-04-05 清明节 2023-04-05
2023-04-23 劳动节调休 2023-05-01
2023-04-29 劳动节 2023-05-01
2023-04-30 劳动节 2023-05-01
2023-05-01 劳动节 2023-05-01
2023-05-02 劳动节 2023-05-01
2023-05-03 劳动节 2023-05-01
2023-05-06 劳动节调休 2023-05-01
2023-06-22 端午节 2023-06-22
2023-06-23 端午节 2023-06-22
2023-06-24 端午节 2023-06-22
2023-06-25 端午节调休 2023-06-22
2023-09-29 中秋节 2023-09-29
2023-09-30 国庆节 2023-10-01
2023-10-01 国庆节 2023-10-01
2023-10-02 国庆节 2023-10-01
2023-10-03 国庆节 2023-10-01
2023-10-04 国庆节 2023-10-01
2023-10-05 国庆节 2023-10-01
2023-10-06 国庆节 2023-10-01
2023-10-07 国庆节调休 2023-10-01
2023-10-08 国庆节调休 2023-10-01

1960-12-17 12:00:00 闰年 星期六 射手座
1901-01-01 12:00:00 星期二 摩羯座

在这里插入图片描述

二、用途

1.年历

在这里插入图片描述

2.月历

在这里插入图片描述

3.佛历

在这里插入图片描述

4.道历

在这里插入图片描述

5.上班摸鱼

213日下午好,摸鱼人!
刷微博=跟热点、看B=找素材、水论坛=做调研。
革命即将胜利,同志们再摸 4 天就到周末了!
距离清明节假期还有 50 天!
距离劳动节假期还有 74 天!
距离端午节假期还有 128 天!
距离中秋节假期还有 227 天!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。