全局变量LunarCalenderDay
用于存储农历日期, 其中, 第6~9个比特位为月份, 第0~5个比特位为日期(从低至高数)
函数LunarCalender(int year, int month, int day)
用于判断是否为闰月, 并将公历日期转化为农历日期(存储在LunarCalenderDay
中)
也可以封装一个类使其能够直接返回农历日期, 并且可读性更高
已经封装成类了
现在的用法是:直接声明一个Lunar
类项然后GetLunarDate(int year, int month, int day)
Lunar l;
LunarDate ld = l.GetLunarDate(2022, 7, 19);
C#部分存在一个名为Lunar
的类, 其内部定义的函数可以将公历日期转化为农历日期, 或者其他形式的日期
例如, 可以使用下面的代码块获取农历日期:
Lunar.LunarDate ld = new Lunar.GetLunarDate(2022, 3, 29);
或者使用下面的代码块直接获取当日农历日期:
Lunar.LunarDate ld = Lunar.GetLunarDate();
其中, LunarDate
类中的属性Month
为农历月, Day
为农历日, IsLeap
为是否为闰月, 其定义如下(Program.cs
中也有):
public struct LunarDate
{
public int Month;
public int Day;
public bool IsLeap;
}
同样, 也可以使用下面的代码块确定某个日期是否在农历的闰月中:
bool isLeapMonth = Lunar.IsLeap(2022, 3, 29);
或者使用下面的代码块直接获取当日时候在农历的闰月中:
bool isLeapMonth = Lunar.IsLeap();
除此以外, 还可以使用下面的代码块直接获取当前日期的农历日期的字符串表示:
string ldstr = Lunar.GetString(Lunar.Lang.Chinese, 2022, 3, 29);
存在一个名为LunarMonthCalendar
的类, 可将公历日期转化为农历日期.
例如:
LunarMonthCalendar.LunarDate ld = new LunarMonthCalendar.LunarDate();
ld = LunarMonthCalendar.GetLunarDate(2000, 4, 5);
其中LunarDate
类中的属性Month
为农历月, Day
为农历日, IsLeap
为是否为闰月. 定义如下:
public static class LunarDate {
public int Month;
public int Day;
public boolean IsLeap;
}
也可使用单一IsLeap()
判定是否为闰月
boolean isleap = LunarMonthCalendar.IsLeap(2000, 4, 5);
直接运行就行
直接运行就行
不要瞎改
因为我也不知道它为什么能运行