C# 中文单日日历到公历日历无效日期

C# 中文单日日历到公历日历无效日期,c#,calendar,C#,Calendar,我试图计算中国任何一年的“中秋节”公众假期。但该日期在几年内无效,我使用的文件是(第8个月的第15天) 2017年和2020年的日期无效,怎么了 Calculated Date | Correct Date 2020.09.02 | 2020.10.01 2017.09.05 | 2017.10.04 2017年和2020年是闰月 2017年第六个月 2020年第四个月飞跃 现在查看以下文档() 闰月可以发生在一年中的任何月份之后。例如 GetMonth方法返回一个介于1

我试图计算中国任何一年的“中秋节”公众假期。但该日期在几年内无效,我使用的文件是(第8个月的第15天)

2017年和2020年的日期无效,怎么了

Calculated Date | Correct Date
2020.09.02      | 2020.10.01
2017.09.05      | 2017.10.04

2017年和2020年是闰月

2017年第六个月

2020年第四个月飞跃

现在查看以下文档()

闰月可以发生在一年中的任何月份之后。例如 GetMonth方法返回一个介于1和13之间的数字,表示 与指定日期关联的月份。如果有闰月 在一年的第八个月和第九个月之间,GetMonth方法 第八个月返回8,第八个月返回9,第八个月返回10 第九个月

根据上述文件,当您查询2017年和2020年的第8个月时,您必须要求9作为代表第8个月的月份

如下所示:

var chineseCalendar = new ChineseLunisolarCalendar();
var midAutumnFestival = chineseCalendar.ToDateTime(year, 9, 15, 0, 0, 0, 0);
var chineseCalendar = new ChineseLunisolarCalendar();
var midAutumnFestival = chineseCalendar.ToDateTime(year, 9, 15, 0, 0, 0, 0);