这就是我currentyl获取上个月第一个日期的方式:
Frmdate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
Frmdate.AddMonths(-1).ToString("dd/MM/yyyy");
结果为01/01/2015
。
当我在二月份时:
ToDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
ToDate.AddMonths(-1).ToString("dd/MM/yyyy");
结果为28/01/2015
,但我需要31/01/2015
。
我需要一种方法来解决这个问题,仅限于2月份。
答案 0 :(得分:5)
而不是AddMonths
使用AddDays
功能:
ToDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
ToDate.AddDays(-1).ToString("dd/MM/yyyy");
Here是一个工作小提琴。
答案 1 :(得分:1)
上个月的第一天:
DateTime firstDayLastMonth = DateTime.Now.AddDays(1 - DateTime.Now.Day).AddMonths(-1);
上个月的最后一天:
DateTime lastDayLastMonth = new DateTime(firstDayLastMonth.Year, firstDayLastMonth.Month, DateTime.DaysInMonth(firstDayLastMonth.Year, firstDayLastMonth.Month));