根据月份选择确定当前年份或上一年份

3
我继承了一个用C#编写的档案程序。先前的开发人员只对上个月的数据进行了存档,但是有一些月份被遗漏了,我的任务是添加功能来查看其他遗漏的月份。
我困惑的部分是: 在确定遗漏的月份时,我需要确定该月份是属于当前年还是前一年。
当前月份是关键。 如果当前月份是九月,则从一月到九月的月份被认为是当前年。
如果当前月份是九月,则十月至十二月被视为前一年。 当然,随着每个月的进展,这将是一个滑动的范围。
需要指导。

2
你似乎已经回答了自己的问题。 - Andrew Barber
如果我在编码时遇到了困难。 - HaySeed
3个回答

6
除非我理解有误,你只需要将缺失的月份与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);

1

使用 DateTime.Now.Month 可以得到当前月份,您可以将其与您所描述的其他日期进行比较。如果它小于或等于当前年份,则为当前年份;如果它大于前一年,则为上一年。

然后,您可以使用 DateTime.Now.AddYears(-1) 将存档日期设置为上一年的存档。


0

您可以通过 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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接