我继承了一个用C#编写的归档程序。以前的开发人员只对归档上个月的数据感兴趣。然而,我错过了几个月,我的任务是添加功能,看看还错过了哪些月。
我被困住的部分是:在确定错过的月份时,我需要确定该月份是本年度的一部分还是上一年的一部分。
当月是关键。如果当前月份是9月,则从1月到9月的月份被视为本年度。
如果当前月份是9月,则将10月到12月视为上一年。当然,随着每个月的进展,这将是一个滑动的范围。
寻找一些指导。
发布于 2011-09-24 04:35:35
使用DateTime.Now.Month,它给出了实际的月份,你可以像你所描述的那样与其他日期进行比较,如果它小于或等于,那么它就是当前年,如果它大于前一年。
然后,您可以使用DateTime.Now.AddYears(-1)设置上一年归档的归档日期
发布于 2011-09-24 04:33:24
除非我漏掉了什么,你只需要将你丢失的月份日期与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);发布于 2011-09-24 04:53:28
您可以获取当前月份数字(通过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 yearhttps://stackoverflow.com/questions/7534443
复制相似问题