根据月份选择确定当前年份或上一年
本文关键字:上一年 选择 | 更新日期: 2023-09-27 18:09:43
我继承了一个用c#编写的存档程序。以前的开发人员只对存档上个月的数据感兴趣。然而,有几个月被遗漏了,我的任务是添加一些功能来查看其他几个月被遗漏了什么。
我卡住的部分是:在确定遗漏的月份时,我需要确定该月份是本年度的一部分还是上一年的月份。
当前月份为键。如果当前月份是9月,则从1月到9月的月份被视为当前年份。
如果当月为9月,则10月至12月被视为上一年度。当然,随着时间的推移,这将是一个滑动范围。
寻求指导
除非我遗漏了什么,否则您只需将遗漏的月份日期与DateTime.Today.Month
进行比较
DateTime archiveDate;
if(someMonth > DateTime.Today.Month)
archiveDate = new DateTime(DateTime.Today.Year - 1, someMonth, 1);
else
archiveDate = new DateTime(DateTime.Today.Year, someMonth, 1);
使用DateTime.Now.Month它会给你实际的月份,你可以将它与你所描述的其他日期进行比较,如果它小于或等于,那么它就是当前年份,如果它大于上一年。
然后您可以使用DateTime.Now.AddYears(-1)
您可以获得当前月份的数字(通过DateTime.Month
),并从比较月份中减去它,并检查它是否大于零。
int month1 = 5; //may
int month2 = 4; //apr
bool isCurrentYear = (month1 - month2 >= 0); //current year
int month1 = 8; //aug
int month2 = 11; //nov
bool isCurrentYear = (month1 - month2 >= 0); //last year