【愚公系列】2023年02月 .NET CORE工具案例-Lunar日历转换
【摘要】 前言真正的日历产生,大约在一千一百多年前的唐顺宗永贞元年,皇宫中就已经使用皇历。最初一天一页,记载国家、宫廷大事和皇帝的言行。皇历分为十二册,每册的页数和每月的天数一样,每一页都注明了天数和日期。如今通行的日历,不管是纸质出版物还是手机应用、电子台历,通常都会载有公历、农历和干支历这三种历法。下面列举些日历的说明:阳历:阳历周、月、季度、半年、年,闰年、年天数、月天数等阴历:节气、干支、三...
前言
真正的日历产生,大约在一千一百多年前的唐顺宗永贞元年,皇宫中就已经使用皇历。最初一天一页,记载国家、宫廷大事和皇帝的言行。皇历分为十二册,每册的页数和每月的天数一样,每一页都注明了天数和日期。如今通行的日历,不管是纸质出版物还是手机应用、电子台历,通常都会载有公历、农历和干支历这三种历法。
下面列举些日历的说明:
- 阳历:阳历周、月、季度、半年、年,闰年、年天数、月天数等
- 阴历:节气、干支、三伏、生肖、八卦方位、吉神方位等
- 佛历:因果犯忌、月斋、观音斋、朔望斋等
- 道历:三会日、三元日、八节日、五腊日、八会日、戊日等
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出生
出生3年1个月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.上班摸鱼
2月13日下午好,摸鱼人!
刷微博=跟热点、看B站=找素材、水论坛=做调研。
革命即将胜利,同志们再摸 4 天就到周末了!
距离清明节假期还有 50 天!
距离劳动节假期还有 74 天!
距离端午节假期还有 128 天!
距离中秋节假期还有 227 天!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)