报表中经常遇到的一个头疼的问题是需要自动选择过去一个月的数据作为当前报表输出。网上查询了一些.NET 的C#例子,发现都实现的比较复杂,其实这个问题可以很简单的通过.NET的DateTime函数来实现,因为.NET中给我们提供了当前天数--System.DateTime.Now.Day函数,还有增加天和月份的AddDays和AddMonth函数。
于是我们可以这样设想,当前时间 - 当前天数 = 上个月截至时间, 而当前时间 - 1个月 - 当前天数 + 1 = 上个月起始时间
然后:
上个月起始时间: lastMonthBegin = DateTime.Now.AddMonths(-1).AddDays(1-DateTime.Now.Day);
上个月截至时间: lastMonthEnd = DateTime.Now.AddDays(-DateTime.Now.Day)