mirror of
https://gitee.com/6tail/lunar-csharp.git
synced 2025-12-06 10:19:07 +08:00
v1.5.3 LunarMonth增加序号、干支、财神方位等;完善纪念日;因果犯忌支持闰月。
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -78,7 +79,7 @@ namespace Lunar
|
||||
var l = new List<FotoFestival>();
|
||||
try
|
||||
{
|
||||
l.AddRange(FotoUtil.FESTIVAL[Month + "-" + Day]);
|
||||
l.AddRange(FotoUtil.FESTIVAL[Math.Abs(Month) + "-" + Day]);
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -88,6 +89,24 @@ namespace Lunar
|
||||
return l;
|
||||
}
|
||||
}
|
||||
|
||||
public List<string> OtherFestivals
|
||||
{
|
||||
get
|
||||
{
|
||||
var l = new List<string>();
|
||||
try
|
||||
{
|
||||
var fs = FotoUtil.OTHER_FESTIVAL[Month + "-" + Day];
|
||||
l.AddRange(fs);
|
||||
}
|
||||
catch
|
||||
{
|
||||
// ignored
|
||||
}
|
||||
return l;
|
||||
}
|
||||
}
|
||||
|
||||
public bool MonthZhai => Month == 1 || Month == 5 || Month == 9;
|
||||
|
||||
|
||||
@@ -28,6 +28,10 @@ namespace Lunar
|
||||
/// 初一的儒略日
|
||||
/// </summary>
|
||||
public double FirstJulianDay { get; }
|
||||
|
||||
public int Index { get; }
|
||||
|
||||
public int ZhiIndex { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 初始化
|
||||
@@ -36,12 +40,15 @@ namespace Lunar
|
||||
/// <param name="lunarMonth">农历月:1-12,闰月为负数,如闰2月为-2</param>
|
||||
/// <param name="dayCount">天数</param>
|
||||
/// <param name="firstJulianDay">初一的儒略日</param>
|
||||
public LunarMonth(int lunarYear, int lunarMonth, int dayCount, double firstJulianDay)
|
||||
/// <param name="index">序号</param>
|
||||
public LunarMonth(int lunarYear, int lunarMonth, int dayCount, double firstJulianDay, int index)
|
||||
{
|
||||
Year = lunarYear;
|
||||
Month = lunarMonth;
|
||||
DayCount = dayCount;
|
||||
FirstJulianDay = firstJulianDay;
|
||||
Index = index;
|
||||
ZhiIndex = (index - 1 + LunarUtil.BASE_MONTH_ZHI_INDEX) % 12;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -60,6 +67,49 @@ namespace Lunar
|
||||
/// </summary>
|
||||
public bool Leap => Month < 0;
|
||||
|
||||
public int GanIndex
|
||||
{
|
||||
get
|
||||
{
|
||||
var offset = (LunarYear.FromYear(Year).GanIndex + 1) % 5 * 2;
|
||||
return (Index - 1 + offset) % 10;
|
||||
}
|
||||
}
|
||||
|
||||
public string Gan => LunarUtil.GAN[GanIndex + 1];
|
||||
|
||||
public string Zhi => LunarUtil.ZHI[ZhiIndex + 1];
|
||||
|
||||
public string GanZhi => Gan + Zhi;
|
||||
|
||||
public string PositionXi => LunarUtil.POSITION_XI[GanIndex + 1];
|
||||
|
||||
public string PositionXiDesc => LunarUtil.POSITION_DESC[PositionXi];
|
||||
|
||||
public string PositionYangGui => LunarUtil.POSITION_YANG_GUI[GanIndex + 1];
|
||||
|
||||
public string PositionYangGuiDesc => LunarUtil.POSITION_DESC[PositionYangGui];
|
||||
|
||||
public string PositionYinGui => LunarUtil.POSITION_YIN_GUI[GanIndex + 1];
|
||||
|
||||
public string PositionYinGuiDesc => LunarUtil.POSITION_DESC[PositionYinGui];
|
||||
|
||||
public string PositionFu => GetPositionFu();
|
||||
|
||||
public string GetPositionFu(int sect = 2) {
|
||||
return (1 == sect ? LunarUtil.POSITION_FU : LunarUtil.POSITION_FU_2)[GanIndex + 1];
|
||||
}
|
||||
|
||||
public string PositionFuDesc => GetPositionFuDesc();
|
||||
|
||||
public string GetPositionFuDesc(int sect = 2) {
|
||||
return LunarUtil.POSITION_DESC[GetPositionFu(sect)];
|
||||
}
|
||||
|
||||
public string PositionCai => LunarUtil.POSITION_CAI[GanIndex + 1];
|
||||
|
||||
public string PositionCaiDesc => LunarUtil.POSITION_DESC[PositionCai];
|
||||
|
||||
/// <summary>
|
||||
/// 太岁方位,如艮
|
||||
/// </summary>
|
||||
|
||||
@@ -200,15 +200,7 @@ namespace Lunar
|
||||
/// <summary>
|
||||
/// 天神
|
||||
/// </summary>
|
||||
public string TianShen
|
||||
{
|
||||
get
|
||||
{
|
||||
var dayZhi = Lunar.DayZhiExact;
|
||||
var offset = LunarUtil.ZHI_TIAN_SHEN_OFFSET[dayZhi];
|
||||
return LunarUtil.TIAN_SHEN[(ZhiIndex + offset) % 12 + 1];
|
||||
}
|
||||
}
|
||||
public string TianShen => LunarUtil.TIAN_SHEN[(ZhiIndex + LunarUtil.ZHI_TIAN_SHEN_OFFSET[Lunar.DayZhiExact]) % 12 + 1];
|
||||
|
||||
/// <summary>
|
||||
/// 天神类型:黄道/黑道
|
||||
|
||||
@@ -198,6 +198,7 @@ namespace Lunar
|
||||
|
||||
var y = prevYear;
|
||||
var m = 11;
|
||||
var index = m;
|
||||
for (int i = 0, j = dayCounts.Length; i < j; i++)
|
||||
{
|
||||
var cm = m;
|
||||
@@ -205,14 +206,16 @@ namespace Lunar
|
||||
{
|
||||
cm = -cm;
|
||||
}
|
||||
Months.Add(new LunarMonth(y, cm, dayCounts[i], hs[i] + Solar.J2000));
|
||||
Months.Add(new LunarMonth(y, cm, dayCounts[i], hs[i] + Solar.J2000, index));
|
||||
if (y != leapYear || i + 1 != leapIndex)
|
||||
{
|
||||
m++;
|
||||
}
|
||||
index++;
|
||||
if (m == 13)
|
||||
{
|
||||
m = 1;
|
||||
index = 1;
|
||||
y++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,8 +122,7 @@ namespace Lunar.EightChar
|
||||
|
||||
private string GetDiShi(int zhiIndex)
|
||||
{
|
||||
var offset = CHANG_SHENG_OFFSET[DayGan];
|
||||
var index = offset + (DayGanIndex % 2 == 0 ? zhiIndex : -zhiIndex);
|
||||
var index = CHANG_SHENG_OFFSET[DayGan] + (DayGanIndex % 2 == 0 ? zhiIndex : -zhiIndex);
|
||||
if (index >= 12)
|
||||
{
|
||||
index -= 12;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<LangVersion>7.1</LangVersion>
|
||||
<RootNamespace>Lunar</RootNamespace>
|
||||
<PackageId>lunar-csharp</PackageId>
|
||||
<PackageVersion>1.5.2</PackageVersion>
|
||||
<PackageVersion>1.5.3</PackageVersion>
|
||||
<Title>无依赖的阳历、阴历、道历和佛历工具库</Title>
|
||||
<Authors>6tail</Authors>
|
||||
<Description>日历、公历(阳历)、农历(阴历、老黄历)、佛历、道历,节假日、星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。</Description>
|
||||
@@ -15,9 +15,9 @@
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<PackageTags>日历;公历;阳历;农历;阴历;老黄历;佛历;道历;法定假日</PackageTags>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<AssemblyVersion>1.5.2</AssemblyVersion>
|
||||
<FileVersion>1.5.2</FileVersion>
|
||||
<PackageReleaseNotes>优化八字转阳历;修复少量农历年的月份错误;新增农历年天数和当年月份列表。</PackageReleaseNotes>
|
||||
<AssemblyVersion>1.5.3</AssemblyVersion>
|
||||
<FileVersion>1.5.3</FileVersion>
|
||||
<PackageReleaseNotes>LunarMonth增加序号、干支、财神方位等;完善纪念日;因果犯忌支持闰月。</PackageReleaseNotes>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
|
||||
@@ -36,6 +36,8 @@ namespace Lunar.Util
|
||||
private static readonly FotoFestival HH = new FotoFestival("月晦", JS, true, "如月小,即戒廿九");
|
||||
|
||||
public static readonly Dictionary<string, List<FotoFestival>> FESTIVAL = new Dictionary<string, List<FotoFestival>>();
|
||||
|
||||
public static readonly Dictionary<string, List<string>> OTHER_FESTIVAL = new Dictionary<string, List<string>>();
|
||||
|
||||
static FotoUtil()
|
||||
{
|
||||
@@ -258,6 +260,37 @@ namespace Lunar.Util
|
||||
FESTIVAL.Add("12-28", new List<FotoFestival>(new[] { R }));
|
||||
FESTIVAL.Add("12-29", new List<FotoFestival>(new[] { new FotoFestival("华严菩萨诞"), T }));
|
||||
FESTIVAL.Add("12-30", new List<FotoFestival>(new[] { new FotoFestival("诸神下降,察访善恶", "犯者男女俱亡") }));
|
||||
|
||||
OTHER_FESTIVAL.Add("1-1", new List<string>(new[] { "弥勒菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("1-6", new List<string>(new[] { "定光佛圣诞" }));
|
||||
OTHER_FESTIVAL.Add("2-8", new List<string>(new[] { "释迦牟尼佛出家" }));
|
||||
OTHER_FESTIVAL.Add("2-15", new List<string>(new[] { "释迦牟尼佛涅槃" }));
|
||||
OTHER_FESTIVAL.Add("2-19", new List<string>(new[] { "观世音菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("2-21", new List<string>(new[] { "普贤菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("3-16", new List<string>(new[] { "准提菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("4-4", new List<string>(new[] { "文殊菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("4-8", new List<string>(new[] { "释迦牟尼佛圣诞" }));
|
||||
OTHER_FESTIVAL.Add("4-15", new List<string>(new[] { "佛吉祥日" }));
|
||||
OTHER_FESTIVAL.Add("4-28", new List<string>(new[] { "药王菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("5-13", new List<string>(new[] { "伽蓝菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("6-3", new List<string>(new[] { "韦驮菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("6-19", new List<string>(new[] { "观音菩萨成道" }));
|
||||
OTHER_FESTIVAL.Add("7-13", new List<string>(new[] { "大势至菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("7-15", new List<string>(new[] { "佛欢喜日" }));
|
||||
OTHER_FESTIVAL.Add("7-24", new List<string>(new[] { "龙树菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("7-30", new List<string>(new[] { "地藏菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("8-15", new List<string>(new[] { "月光菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("8-22", new List<string>(new[] { "燃灯佛圣诞" }));
|
||||
OTHER_FESTIVAL.Add("9-9", new List<string>(new[] { "摩利支天菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("9-19", new List<string>(new[] { "观世音菩萨出家" }));
|
||||
OTHER_FESTIVAL.Add("9-30", new List<string>(new[] { "药师琉璃光佛圣诞" }));
|
||||
OTHER_FESTIVAL.Add("10-5", new List<string>(new[] { "达摩祖师圣诞" }));
|
||||
OTHER_FESTIVAL.Add("10-20", new List<string>(new[] { "文殊菩萨出家" }));
|
||||
OTHER_FESTIVAL.Add("11-17", new List<string>(new[] { "阿弥陀佛圣诞" }));
|
||||
OTHER_FESTIVAL.Add("11-19", new List<string>(new[] { "日光菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("12-8", new List<string>(new[] { "释迦牟尼佛成道" }));
|
||||
OTHER_FESTIVAL.Add("12-23", new List<string>(new[] { "监斋菩萨圣诞" }));
|
||||
OTHER_FESTIVAL.Add("12-29", new List<string>(new[] { "华严菩萨圣诞" }));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -185,7 +185,7 @@ namespace Lunar.Util
|
||||
/// <summary>
|
||||
/// 月相
|
||||
/// </summary>
|
||||
public static readonly string[] YUE_XIANG = { "", "朔", "既朔", "蛾眉新", "蛾眉新", "蛾眉", "夕月", "上弦", "上弦", "九夜", "宵", "宵", "宵", "渐盈凸", "小望", "望", "既望", "立待", "居待", "寝待", "更待", "渐亏凸", "下弦", "下弦", "有明", "有明", "蛾眉残", "蛾眉残", "残", "晓", "晦" };
|
||||
public static readonly string[] YUE_XIANG = { "", "朔", "既朔", "蛾眉新", "蛾眉新", "蛾眉", "夕", "上弦", "上弦", "九夜", "宵", "宵", "宵", "渐盈凸", "小望", "望", "既望", "立待", "居待", "寝待", "更待", "渐亏凸", "下弦", "下弦", "有明", "有明", "蛾眉残", "蛾眉残", "残", "晓", "晦" };
|
||||
|
||||
/// <summary>
|
||||
/// 地支相冲(子午相冲,丑未相冲,寅申相冲,辰戌相冲,卯酉相冲,巳亥相冲),由于地支对应十二生肖,也就对应了生肖相冲
|
||||
@@ -1243,8 +1243,7 @@ namespace Lunar.Util
|
||||
var months = left.Substring(0, left.IndexOf(":", StringComparison.Ordinal));
|
||||
for (int i = 0, j = months.Length; i < j; i += 2)
|
||||
{
|
||||
var m = months.Substring(i, 2);
|
||||
if (m.Equals(month))
|
||||
if (months.Substring(i, 2).Equals(month))
|
||||
{
|
||||
matched = true;
|
||||
break;
|
||||
@@ -1256,8 +1255,7 @@ namespace Lunar.Util
|
||||
ys = ys.Substring(0, ys.IndexOf(",", StringComparison.Ordinal));
|
||||
for (int i = 0, j = ys.Length; i < j; i += 2)
|
||||
{
|
||||
var m = ys.Substring(i, 2);
|
||||
l.Add(YI_JI[Int32.Parse(m, NumberStyles.HexNumber)]);
|
||||
l.Add(YI_JI[int.Parse(ys.Substring(i, 2), NumberStyles.HexNumber)]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1295,8 +1293,7 @@ namespace Lunar.Util
|
||||
var months = left.Substring(0, left.IndexOf(":", StringComparison.Ordinal));
|
||||
for (int i = 0, j = months.Length; i < j; i += 2)
|
||||
{
|
||||
var m = months.Substring(i, 2);
|
||||
if (m.Equals(month))
|
||||
if (months.Substring(i, 2).Equals(month))
|
||||
{
|
||||
matched = true;
|
||||
break;
|
||||
@@ -1307,8 +1304,7 @@ namespace Lunar.Util
|
||||
var js = left.Substring(left.IndexOf(",", StringComparison.Ordinal) + 1);
|
||||
for (int i = 0, j = js.Length; i < j; i += 2)
|
||||
{
|
||||
var m = js.Substring(i, 2);
|
||||
l.Add(YI_JI[int.Parse(m, NumberStyles.HexNumber)]);
|
||||
l.Add(YI_JI[int.Parse(js.Substring(i, 2), NumberStyles.HexNumber)]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1344,8 +1340,7 @@ namespace Lunar.Util
|
||||
var js = left.Substring(0, left.IndexOf(",", StringComparison.Ordinal));
|
||||
for (int i = 0, j = js.Length; i < j; i += 2)
|
||||
{
|
||||
string m = js.Substring(i, 2);
|
||||
l.Add(SHEN_SHA[int.Parse(m, NumberStyles.HexNumber)]);
|
||||
l.Add(SHEN_SHA[int.Parse(js.Substring(i, 2), NumberStyles.HexNumber)]);
|
||||
}
|
||||
}
|
||||
if (l.Count < 1)
|
||||
@@ -1378,8 +1373,7 @@ namespace Lunar.Util
|
||||
var xs = left.Substring(left.IndexOf(",", StringComparison.Ordinal) + 1);
|
||||
for (int i = 0, j = xs.Length; i < j; i += 2)
|
||||
{
|
||||
var m = xs.Substring(i, 2);
|
||||
l.Add(SHEN_SHA[int.Parse(m, NumberStyles.HexNumber)]);
|
||||
l.Add(SHEN_SHA[int.Parse(xs.Substring(i, 2), NumberStyles.HexNumber)]);
|
||||
}
|
||||
}
|
||||
if (l.Count < 1)
|
||||
@@ -1411,8 +1405,7 @@ namespace Lunar.Util
|
||||
var ys = left.Substring(0, left.IndexOf(",", StringComparison.Ordinal));
|
||||
for (int i = 0, j = ys.Length; i < j; i += 2)
|
||||
{
|
||||
var m = ys.Substring(i, 2);
|
||||
l.Add(YI_JI[int.Parse(m, NumberStyles.HexNumber)]);
|
||||
l.Add(YI_JI[int.Parse(ys.Substring(i, 2), NumberStyles.HexNumber)]);
|
||||
}
|
||||
}
|
||||
if (l.Count < 1)
|
||||
@@ -1444,8 +1437,7 @@ namespace Lunar.Util
|
||||
var js = left.Substring(left.IndexOf(",", StringComparison.Ordinal) + 1);
|
||||
for (int i = 0, j = js.Length; i < j; i += 2)
|
||||
{
|
||||
var m = js.Substring(i, 2);
|
||||
l.Add(YI_JI[int.Parse(m, NumberStyles.HexNumber)]);
|
||||
l.Add(YI_JI[int.Parse(js.Substring(i, 2), NumberStyles.HexNumber)]);
|
||||
}
|
||||
}
|
||||
if (l.Count<1)
|
||||
|
||||
@@ -53,75 +53,149 @@ namespace Lunar.Util
|
||||
|
||||
WEEK_FESTIVAL.Add("3-0-1", "全国中小学生安全教育日");
|
||||
WEEK_FESTIVAL.Add("5-2-0", "母亲节");
|
||||
WEEK_FESTIVAL.Add("5-3-0", "全国助残日");
|
||||
WEEK_FESTIVAL.Add("6-3-0", "父亲节");
|
||||
WEEK_FESTIVAL.Add("9-3-6", "全民国防教育日");
|
||||
WEEK_FESTIVAL.Add("10-1-1", "世界住房日");
|
||||
WEEK_FESTIVAL.Add("11-4-4", "感恩节");
|
||||
|
||||
OTHER_FESTIVAL.Add("1-8", new List<string>(new[] { "周恩来逝世纪念日" }));
|
||||
OTHER_FESTIVAL.Add("1-10", new List<string>(new[] { "中国人民警察节", "中国公安110宣传日" }));
|
||||
OTHER_FESTIVAL.Add("1-21", new List<string>(new[] { "列宁逝世纪念日" }));
|
||||
OTHER_FESTIVAL.Add("1-26", new List<string>(new[] { "国际海关日" }));
|
||||
OTHER_FESTIVAL.Add("2-2", new List<string>(new[] { "世界湿地日" }));
|
||||
OTHER_FESTIVAL.Add("2-4", new List<string>(new[] { "世界抗癌日" }));
|
||||
OTHER_FESTIVAL.Add("2-7", new List<string>(new[] { "京汉铁路罢工纪念" }));
|
||||
OTHER_FESTIVAL.Add("2-10", new List<string>(new[] { "国际气象节" }));
|
||||
OTHER_FESTIVAL.Add("2-19", new List<string>(new[] { "邓小平逝世纪念日" }));
|
||||
OTHER_FESTIVAL.Add("2-21", new List<string>(new[] { "国际母语日" }));
|
||||
OTHER_FESTIVAL.Add("2-24", new List<string>(new[] { "第三世界青年日" }));
|
||||
OTHER_FESTIVAL.Add("3-1", new List<string>(new[] { "国际海豹日" }));
|
||||
OTHER_FESTIVAL.Add("3-3", new List<string>(new[] { "全国爱耳日" }));
|
||||
OTHER_FESTIVAL.Add("3-5", new List<string>(new[] { "周恩来诞辰纪念日", "中国青年志愿者服务日" }));
|
||||
OTHER_FESTIVAL.Add("3-6", new List<string>(new[] { "世界青光眼日" }));
|
||||
OTHER_FESTIVAL.Add("3-12", new List<string>(new[] { "孙中山逝世纪念日" }));
|
||||
OTHER_FESTIVAL.Add("3-14", new List<string>(new[] { "马克思逝世纪念日" }));
|
||||
OTHER_FESTIVAL.Add("3-17", new List<string>(new[] { "国际航海日" }));
|
||||
OTHER_FESTIVAL.Add("3-18", new List<string>(new[] { "全国科技人才活动日" }));
|
||||
OTHER_FESTIVAL.Add("3-21", new List<string>(new[] { "世界森林日", "世界睡眠日" }));
|
||||
OTHER_FESTIVAL.Add("3-22", new List<string>(new[] { "世界水日" }));
|
||||
OTHER_FESTIVAL.Add("3-23", new List<string>(new[] { "世界气象日" }));
|
||||
OTHER_FESTIVAL.Add("3-24", new List<string>(new[] { "世界防治结核病日" }));
|
||||
OTHER_FESTIVAL.Add("4-2", new List<string>(new[] { "国际儿童图书日" }));
|
||||
OTHER_FESTIVAL.Add("4-7", new List<string>(new[] { "世界卫生日" }));
|
||||
OTHER_FESTIVAL.Add("4-22", new List<string>(new[] { "列宁诞辰纪念日" }));
|
||||
OTHER_FESTIVAL.Add("4-23", new List<string>(new[] { "世界图书和版权日" }));
|
||||
OTHER_FESTIVAL.Add("4-26", new List<string>(new[] { "世界知识产权日" }));
|
||||
OTHER_FESTIVAL.Add("5-3", new List<string>(new[] { "世界新闻自由日" }));
|
||||
OTHER_FESTIVAL.Add("5-5", new List<string>(new[] { "马克思诞辰纪念日" }));
|
||||
OTHER_FESTIVAL.Add("5-8", new List<string>(new[] { "世界红十字日" }));
|
||||
OTHER_FESTIVAL.Add("5-11", new List<string>(new[] { "世界肥胖日" }));
|
||||
OTHER_FESTIVAL.Add("5-25", new List<string>(new[] { "525心理健康节" }));
|
||||
OTHER_FESTIVAL.Add("5-27", new List<string>(new[] { "上海解放日" }));
|
||||
OTHER_FESTIVAL.Add("5-31", new List<string>(new[] { "世界无烟日" }));
|
||||
OTHER_FESTIVAL.Add("6-5", new List<string>(new[] { "世界环境日" }));
|
||||
OTHER_FESTIVAL.Add("6-6", new List<string>(new[] { "全国爱眼日" }));
|
||||
OTHER_FESTIVAL.Add("6-8", new List<string>(new[] { "世界海洋日" }));
|
||||
OTHER_FESTIVAL.Add("6-11", new List<string>(new[] { "中国人口日" }));
|
||||
OTHER_FESTIVAL.Add("6-14", new List<string>(new[] { "世界献血日" }));
|
||||
OTHER_FESTIVAL.Add("7-1", new List<string>(new[] { "香港回归纪念日" }));
|
||||
OTHER_FESTIVAL.Add("7-7", new List<string>(new[] { "中国人民抗日战争纪念日" }));
|
||||
OTHER_FESTIVAL.Add("7-11", new List<string>(new[] { "世界人口日" }));
|
||||
OTHER_FESTIVAL.Add("8-5", new List<string>(new[] { "恩格斯逝世纪念日" }));
|
||||
OTHER_FESTIVAL.Add("8-6", new List<string>(new[] { "国际电影节" }));
|
||||
OTHER_FESTIVAL.Add("8-12", new List<string>(new[] { "国际青年日" }));
|
||||
OTHER_FESTIVAL.Add("8-22", new List<string>(new[] { "邓小平诞辰纪念日" }));
|
||||
OTHER_FESTIVAL.Add("9-3", new List<string>(new[] { "中国抗日战争胜利纪念日" }));
|
||||
OTHER_FESTIVAL.Add("9-8", new List<string>(new[] { "世界扫盲日" }));
|
||||
OTHER_FESTIVAL.Add("9-9", new List<string>(new[] { "毛泽东逝世纪念日" }));
|
||||
OTHER_FESTIVAL.Add("9-14", new List<string>(new[] { "世界清洁地球日" }));
|
||||
OTHER_FESTIVAL.Add("9-18", new List<string>(new[] { "九一八事变纪念日" }));
|
||||
OTHER_FESTIVAL.Add("9-20", new List<string>(new[] { "全国爱牙日" }));
|
||||
OTHER_FESTIVAL.Add("9-21", new List<string>(new[] { "国际和平日" }));
|
||||
OTHER_FESTIVAL.Add("9-27", new List<string>(new[] { "世界旅游日" }));
|
||||
OTHER_FESTIVAL.Add("10-4", new List<string>(new[] { "世界动物日" }));
|
||||
OTHER_FESTIVAL.Add("10-10", new List<string>(new[] { "辛亥革命纪念日" }));
|
||||
OTHER_FESTIVAL.Add("10-13", new List<string>(new[] { "中国少年先锋队诞辰日" }));
|
||||
OTHER_FESTIVAL.Add("10-25", new List<string>(new[] { "抗美援朝纪念日" }));
|
||||
OTHER_FESTIVAL.Add("11-12", new List<string>(new[] { "孙中山诞辰纪念日" }));
|
||||
OTHER_FESTIVAL.Add("11-17", new List<string>(new[] { "国际大学生节" }));
|
||||
OTHER_FESTIVAL.Add("11-28", new List<string>(new[] { "恩格斯诞辰纪念日" }));
|
||||
OTHER_FESTIVAL.Add("12-1", new List<string>(new[] { "世界艾滋病日" }));
|
||||
OTHER_FESTIVAL.Add("12-12", new List<string>(new[] { "西安事变纪念日" }));
|
||||
OTHER_FESTIVAL.Add("12-13", new List<string>(new[] { "国家公祭日" }));
|
||||
OTHER_FESTIVAL.Add("12-26", new List<string>(new[] { "毛泽东诞辰纪念日" }));
|
||||
OTHER_FESTIVAL.Add("1-8", new List<string>(new[] {"周恩来逝世纪念日"}));
|
||||
OTHER_FESTIVAL.Add("1-10", new List<string>(new[] {"中国人民警察节"}));
|
||||
OTHER_FESTIVAL.Add("1-14", new List<string>(new[] {"日记情人节"}));
|
||||
OTHER_FESTIVAL.Add("1-21", new List<string>(new[] {"列宁逝世纪念日"}));
|
||||
OTHER_FESTIVAL.Add("1-26", new List<string>(new[] {"国际海关日"}));
|
||||
OTHER_FESTIVAL.Add("1-27", new List<string>(new[] {"国际大屠杀纪念日"}));
|
||||
OTHER_FESTIVAL.Add("2-2", new List<string>(new[] {"世界湿地日"}));
|
||||
OTHER_FESTIVAL.Add("2-4", new List<string>(new[] {"世界抗癌日"}));
|
||||
OTHER_FESTIVAL.Add("2-7", new List<string>(new[] {"京汉铁路罢工纪念日"}));
|
||||
OTHER_FESTIVAL.Add("2-10", new List<string>(new[] {"国际气象节"}));
|
||||
OTHER_FESTIVAL.Add("2-19", new List<string>(new[] {"邓小平逝世纪念日"}));
|
||||
OTHER_FESTIVAL.Add("2-20", new List<string>(new[] {"世界社会公正日"}));
|
||||
OTHER_FESTIVAL.Add("2-21", new List<string>(new[] {"国际母语日"}));
|
||||
OTHER_FESTIVAL.Add("2-24", new List<string>(new[] {"第三世界青年日"}));
|
||||
OTHER_FESTIVAL.Add("3-1", new List<string>(new[] {"国际海豹日"}));
|
||||
OTHER_FESTIVAL.Add("3-3", new List<string>(new[] {"世界野生动植物日", "全国爱耳日"}));
|
||||
OTHER_FESTIVAL.Add("3-5", new List<string>(new[] {"周恩来诞辰纪念日", "中国青年志愿者服务日"}));
|
||||
OTHER_FESTIVAL.Add("3-6", new List<string>(new[] {"世界青光眼日"}));
|
||||
OTHER_FESTIVAL.Add("3-7", new List<string>(new[] {"女生节"}));
|
||||
OTHER_FESTIVAL.Add("3-12", new List<string>(new[] {"孙中山逝世纪念日"}));
|
||||
OTHER_FESTIVAL.Add("3-14", new List<string>(new[] {"马克思逝世纪念日", "白色情人节"}));
|
||||
OTHER_FESTIVAL.Add("3-17", new List<string>(new[] {"国际航海日"}));
|
||||
OTHER_FESTIVAL.Add("3-18", new List<string>(new[] {"全国科技人才活动日", "全国爱肝日"}));
|
||||
OTHER_FESTIVAL.Add("3-20", new List<string>(new[] {"国际幸福日"}));
|
||||
OTHER_FESTIVAL.Add("3-21", new List<string>(new[] {"世界森林日", "世界睡眠日", "国际消除种族歧视日"}));
|
||||
OTHER_FESTIVAL.Add("3-22", new List<string>(new[] {"世界水日"}));
|
||||
OTHER_FESTIVAL.Add("3-23", new List<string>(new[] {"世界气象日"}));
|
||||
OTHER_FESTIVAL.Add("3-24", new List<string>(new[] {"世界防治结核病日"}));
|
||||
OTHER_FESTIVAL.Add("3-29", new List<string>(new[] {"中国黄花岗七十二烈士殉难纪念日"}));
|
||||
OTHER_FESTIVAL.Add("4-2", new List<string>(new[] {"国际儿童图书日", "世界自闭症日"}));
|
||||
OTHER_FESTIVAL.Add("4-4", new List<string>(new[] {"国际地雷行动日"}));
|
||||
OTHER_FESTIVAL.Add("4-7", new List<string>(new[] {"世界卫生日"}));
|
||||
OTHER_FESTIVAL.Add("4-8", new List<string>(new[] {"国际珍稀动物保护日"}));
|
||||
OTHER_FESTIVAL.Add("4-12", new List<string>(new[] {"世界航天日"}));
|
||||
OTHER_FESTIVAL.Add("4-14", new List<string>(new[] {"黑色情人节"}));
|
||||
OTHER_FESTIVAL.Add("4-15", new List<string>(new[] {"全民国家安全教育日"}));
|
||||
OTHER_FESTIVAL.Add("4-22", new List<string>(new[] {"世界地球日", "列宁诞辰纪念日"}));
|
||||
OTHER_FESTIVAL.Add("4-23", new List<string>(new[] {"世界读书日"}));
|
||||
OTHER_FESTIVAL.Add("4-24", new List<string>(new[] {"中国航天日"}));
|
||||
OTHER_FESTIVAL.Add("4-25", new List<string>(new[] {"儿童预防接种宣传日"}));
|
||||
OTHER_FESTIVAL.Add("4-26", new List<string>(new[] {"世界知识产权日", "全国疟疾日"}));
|
||||
OTHER_FESTIVAL.Add("4-28", new List<string>(new[] {"世界安全生产与健康日"}));
|
||||
OTHER_FESTIVAL.Add("4-30", new List<string>(new[] {"全国交通安全反思日"}));
|
||||
OTHER_FESTIVAL.Add("5-2", new List<string>(new[] {"世界金枪鱼日"}));
|
||||
OTHER_FESTIVAL.Add("5-3", new List<string>(new[] {"世界新闻自由日"}));
|
||||
OTHER_FESTIVAL.Add("5-5", new List<string>(new[] {"马克思诞辰纪念日"}));
|
||||
OTHER_FESTIVAL.Add("5-8", new List<string>(new[] {"世界红十字日"}));
|
||||
OTHER_FESTIVAL.Add("5-11", new List<string>(new[] {"世界肥胖日"}));
|
||||
OTHER_FESTIVAL.Add("5-12", new List<string>(new[] {"全国防灾减灾日", "护士节"}));
|
||||
OTHER_FESTIVAL.Add("5-14", new List<string>(new[] {"玫瑰情人节"}));
|
||||
OTHER_FESTIVAL.Add("5-15", new List<string>(new[] {"国际家庭日"}));
|
||||
OTHER_FESTIVAL.Add("5-19", new List<string>(new[] {"中国旅游日"}));
|
||||
OTHER_FESTIVAL.Add("5-20", new List<string>(new[] {"网络情人节"}));
|
||||
OTHER_FESTIVAL.Add("5-22", new List<string>(new[] {"国际生物多样性日"}));
|
||||
OTHER_FESTIVAL.Add("5-25", new List<string>(new[] {"525心理健康节"}));
|
||||
OTHER_FESTIVAL.Add("5-27", new List<string>(new[] {"上海解放日"}));
|
||||
OTHER_FESTIVAL.Add("5-29", new List<string>(new[] {"国际维和人员日"}));
|
||||
OTHER_FESTIVAL.Add("5-30", new List<string>(new[] {"中国五卅运动纪念日"}));
|
||||
OTHER_FESTIVAL.Add("5-31", new List<string>(new[] {"世界无烟日"}));
|
||||
OTHER_FESTIVAL.Add("6-3", new List<string>(new[] {"世界自行车日"}));
|
||||
OTHER_FESTIVAL.Add("6-5", new List<string>(new[] {"世界环境日"}));
|
||||
OTHER_FESTIVAL.Add("6-6", new List<string>(new[] {"全国爱眼日"}));
|
||||
OTHER_FESTIVAL.Add("6-8", new List<string>(new[] {"世界海洋日"}));
|
||||
OTHER_FESTIVAL.Add("6-11", new List<string>(new[] {"中国人口日"}));
|
||||
OTHER_FESTIVAL.Add("6-14", new List<string>(new[] {"世界献血日", "亲亲情人节"}));
|
||||
OTHER_FESTIVAL.Add("6-17", new List<string>(new[] {"世界防治荒漠化与干旱日"}));
|
||||
OTHER_FESTIVAL.Add("6-20", new List<string>(new[] {"世界难民日"}));
|
||||
OTHER_FESTIVAL.Add("6-21", new List<string>(new[] {"国际瑜伽日"}));
|
||||
OTHER_FESTIVAL.Add("6-25", new List<string>(new[] {"全国土地日"}));
|
||||
OTHER_FESTIVAL.Add("6-26", new List<string>(new[] {"国际禁毒日", "联合国宪章日"}));
|
||||
OTHER_FESTIVAL.Add("7-1", new List<string>(new[] {"香港回归纪念日"}));
|
||||
OTHER_FESTIVAL.Add("7-6", new List<string>(new[] {"国际接吻日", "朱德逝世纪念日"}));
|
||||
OTHER_FESTIVAL.Add("7-7", new List<string>(new[] {"七七事变纪念日"}));
|
||||
OTHER_FESTIVAL.Add("7-11", new List<string>(new[] {"世界人口日", "中国航海日"}));
|
||||
OTHER_FESTIVAL.Add("7-14", new List<string>(new[] {"银色情人节"}));
|
||||
OTHER_FESTIVAL.Add("7-18", new List<string>(new[] {"曼德拉国际日"}));
|
||||
OTHER_FESTIVAL.Add("7-30", new List<string>(new[] {"国际友谊日"}));
|
||||
OTHER_FESTIVAL.Add("8-3", new List<string>(new[] {"男人节"}));
|
||||
OTHER_FESTIVAL.Add("8-5", new List<string>(new[] {"恩格斯逝世纪念日"}));
|
||||
OTHER_FESTIVAL.Add("8-6", new List<string>(new[] {"国际电影节"}));
|
||||
OTHER_FESTIVAL.Add("8-8", new List<string>(new[] {"全民健身日"}));
|
||||
OTHER_FESTIVAL.Add("8-9", new List<string>(new[] {"国际土著人日"}));
|
||||
OTHER_FESTIVAL.Add("8-12", new List<string>(new[] {"国际青年节"}));
|
||||
OTHER_FESTIVAL.Add("8-14", new List<string>(new[] {"绿色情人节"}));
|
||||
OTHER_FESTIVAL.Add("8-19", new List<string>(new[] {"世界人道主义日", "中国医师节"}));
|
||||
OTHER_FESTIVAL.Add("8-22", new List<string>(new[] {"邓小平诞辰纪念日"}));
|
||||
OTHER_FESTIVAL.Add("8-29", new List<string>(new[] {"全国测绘法宣传日"}));
|
||||
OTHER_FESTIVAL.Add("9-3", new List<string>(new[] {"中国抗日战争胜利纪念日"}));
|
||||
OTHER_FESTIVAL.Add("9-5", new List<string>(new[] {"中华慈善日"}));
|
||||
OTHER_FESTIVAL.Add("9-8", new List<string>(new[] {"世界扫盲日"}));
|
||||
OTHER_FESTIVAL.Add("9-9", new List<string>(new[] {"毛泽东逝世纪念日", "全国拒绝酒驾日"}));
|
||||
OTHER_FESTIVAL.Add("9-14", new List<string>(new[] {"世界清洁地球日", "相片情人节"}));
|
||||
OTHER_FESTIVAL.Add("9-15", new List<string>(new[] {"国际民主日"}));
|
||||
OTHER_FESTIVAL.Add("9-16", new List<string>(new[] {"国际臭氧层保护日"}));
|
||||
OTHER_FESTIVAL.Add("9-17", new List<string>(new[] {"世界骑行日"}));
|
||||
OTHER_FESTIVAL.Add("9-18", new List<string>(new[] {"九一八事变纪念日"}));
|
||||
OTHER_FESTIVAL.Add("9-20", new List<string>(new[] {"全国爱牙日"}));
|
||||
OTHER_FESTIVAL.Add("9-21", new List<string>(new[] {"国际和平日"}));
|
||||
OTHER_FESTIVAL.Add("9-27", new List<string>(new[] {"世界旅游日"}));
|
||||
OTHER_FESTIVAL.Add("9-30", new List<string>(new[] {"中国烈士纪念日"}));
|
||||
OTHER_FESTIVAL.Add("10-1", new List<string>(new[] {"国际老年人日"}));
|
||||
OTHER_FESTIVAL.Add("10-2", new List<string>(new[] {"国际非暴力日"}));
|
||||
OTHER_FESTIVAL.Add("10-4", new List<string>(new[] {"世界动物日"}));
|
||||
OTHER_FESTIVAL.Add("10-11", new List<string>(new[] {"国际女童日"}));
|
||||
OTHER_FESTIVAL.Add("10-10", new List<string>(new[] {"辛亥革命纪念日"}));
|
||||
OTHER_FESTIVAL.Add("10-13", new List<string>(new[] {"国际减轻自然灾害日", "中国少年先锋队诞辰日"}));
|
||||
OTHER_FESTIVAL.Add("10-14", new List<string>(new[] {"葡萄酒情人节"}));
|
||||
OTHER_FESTIVAL.Add("10-16", new List<string>(new[] {"世界粮食日"}));
|
||||
OTHER_FESTIVAL.Add("10-17", new List<string>(new[] {"全国扶贫日"}));
|
||||
OTHER_FESTIVAL.Add("10-20", new List<string>(new[] {"世界统计日"}));
|
||||
OTHER_FESTIVAL.Add("10-24", new List<string>(new[] {"世界发展信息日", "程序员节"}));
|
||||
OTHER_FESTIVAL.Add("10-25", new List<string>(new[] {"抗美援朝纪念日"}));
|
||||
OTHER_FESTIVAL.Add("11-5", new List<string>(new[] {"世界海啸日"}));
|
||||
OTHER_FESTIVAL.Add("11-8", new List<string>(new[] {"记者节"}));
|
||||
OTHER_FESTIVAL.Add("11-9", new List<string>(new[] {"全国消防日"}));
|
||||
OTHER_FESTIVAL.Add("11-11", new List<string>(new[] {"光棍节"}));
|
||||
OTHER_FESTIVAL.Add("11-12", new List<string>(new[] {"孙中山诞辰纪念日"}));
|
||||
OTHER_FESTIVAL.Add("11-14", new List<string>(new[] {"电影情人节"}));
|
||||
OTHER_FESTIVAL.Add("11-16", new List<string>(new[] {"国际宽容日"}));
|
||||
OTHER_FESTIVAL.Add("11-17", new List<string>(new[] {"国际大学生节"}));
|
||||
OTHER_FESTIVAL.Add("11-19", new List<string>(new[] {"世界厕所日"}));
|
||||
OTHER_FESTIVAL.Add("11-28", new List<string>(new[] {"恩格斯诞辰纪念日"}));
|
||||
OTHER_FESTIVAL.Add("11-29", new List<string>(new[] {"国际声援巴勒斯坦人民日"}));
|
||||
OTHER_FESTIVAL.Add("12-1", new List<string>(new[] {"世界艾滋病日"}));
|
||||
OTHER_FESTIVAL.Add("12-2", new List<string>(new[] {"全国交通安全日"}));
|
||||
OTHER_FESTIVAL.Add("12-3", new List<string>(new[] {"世界残疾人日"}));
|
||||
OTHER_FESTIVAL.Add("12-4", new List<string>(new[] {"全国法制宣传日"}));
|
||||
OTHER_FESTIVAL.Add("12-5", new List<string>(new[] {"世界弱能人士日", "国际志愿人员日"}));
|
||||
OTHER_FESTIVAL.Add("12-7", new List<string>(new[] {"国际民航日"}));
|
||||
OTHER_FESTIVAL.Add("12-9", new List<string>(new[] {"世界足球日", "国际反腐败日"}));
|
||||
OTHER_FESTIVAL.Add("12-10", new List<string>(new[] {"世界人权日"}));
|
||||
OTHER_FESTIVAL.Add("12-11", new List<string>(new[] {"国际山岳日"}));
|
||||
OTHER_FESTIVAL.Add("12-12", new List<string>(new[] {"西安事变纪念日"}));
|
||||
OTHER_FESTIVAL.Add("12-13", new List<string>(new[] {"国家公祭日"}));
|
||||
OTHER_FESTIVAL.Add("12-14", new List<string>(new[] {"拥抱情人节"}));
|
||||
OTHER_FESTIVAL.Add("12-18", new List<string>(new[] {"国际移徙者日"}));
|
||||
OTHER_FESTIVAL.Add("12-26", new List<string>(new[] {"毛泽东诞辰纪念日"}));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using Lunar;
|
||||
using Xunit;
|
||||
// ReSharper disable IdentifierTypo
|
||||
@@ -27,5 +28,16 @@ namespace test
|
||||
Assert.Equal("东", foto.Gong);
|
||||
Assert.Equal("青龙", foto.Shou);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Test3()
|
||||
{
|
||||
var foto = Foto.FromLunar(Lunar.Lunar.FromYmdHms(2021, 3, 16));
|
||||
var expected = new List<string>
|
||||
{
|
||||
"准提菩萨圣诞"
|
||||
};
|
||||
Assert.Equal(expected, foto.OtherFestivals);
|
||||
}
|
||||
}
|
||||
}
|
||||
61
test/LunarMonthTest.cs
Normal file
61
test/LunarMonthTest.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
using Lunar;
|
||||
using Xunit;
|
||||
// ReSharper disable IdentifierTypo
|
||||
|
||||
namespace test
|
||||
{
|
||||
/// <summary>
|
||||
/// 佛历
|
||||
/// </summary>
|
||||
public class LunarMonthTest
|
||||
{
|
||||
|
||||
[Fact]
|
||||
public void Test1()
|
||||
{
|
||||
var month = LunarMonth.FromYm(2023, 1);
|
||||
Assert.Equal(1, month.Index);
|
||||
Assert.Equal("甲寅", month.GanZhi);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Test2()
|
||||
{
|
||||
var month = LunarMonth.FromYm(2023, -2);
|
||||
Assert.Equal(3, month.Index);
|
||||
Assert.Equal("丙辰", month.GanZhi);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Test3()
|
||||
{
|
||||
var month = LunarMonth.FromYm(2023, 3);
|
||||
Assert.Equal(4, month.Index);
|
||||
Assert.Equal("丁巳", month.GanZhi);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Test4()
|
||||
{
|
||||
var month = LunarMonth.FromYm(2024, 1);
|
||||
Assert.Equal(1, month.Index);
|
||||
Assert.Equal("丙寅", month.GanZhi);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Test5()
|
||||
{
|
||||
var month = LunarMonth.FromYm(2023, 12);
|
||||
Assert.Equal(13, month.Index);
|
||||
Assert.Equal("丙寅", month.GanZhi);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Test6()
|
||||
{
|
||||
var month = LunarMonth.FromYm(2022, 1);
|
||||
Assert.Equal(1, month.Index);
|
||||
Assert.Equal("壬寅", month.GanZhi);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user