public DateTime GetNewYear(int year)
{
DateTime result = new DateTime();
try
{
if (year < 1900 || year > 2100)
{
Exception e = new Exception("参数年份时间不在支持的范围内,支持范围1900~2100年");
throw e;
}
//摘要:在1月21日-2月20日的31天中,历史上都有做过春节的经历,其中1月21日最少为1次,1月23日、2月6日、2月10日、2月17日最多为7次。
DateTime t1 = new DateTime(year, 1, 21);
DateTime t2 = new DateTime(year + 1, 2, 20);
result = t1;
ChineseLunisolarCalendar cc = new ChineseLunisolarCalendar();
int t = t1.CompareTo(t2);
while (t1.CompareTo(t2) != 0)
{
if (cc.GetMonth(t1) == 1 && cc.GetDayOfMonth(t1) == 1)
{
result = t1;
}
t1 = t1.AddDays(1);
}
return result;
}catch(Exception err){
}
return result;
}