我试着计算中国任何一年的“中秋节”公共假日。但是这个日期在一些年内是无效的,我使用了维基百科文档(月8日第15天)。
var chineseCalendar = new ChineseLunisolarCalendar();
var midAutumnFestival = chineseCalendar.ToDateTime(year, 8, 15, 0, 0, 0, 0);2017年和2020年的日期是无效的,有什么问题吗?
Calculated Date | Correct Date
2020.09.02 | 2020.10.01
2017.09.05 | 2017.10.04发布于 2017-11-20 23:31:19
2017年和2020年是飞跃月。
https://www.chinesegenderchart.info/leapmonth.php
2017年第6个月跃升
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);https://stackoverflow.com/questions/47402606
复制相似问题