获取上个月的第一天和最后一天?

Get first and last day of last month?

这就是我当前获取上个月第一个日期的方式:

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 月份的问题。

而不是 AddMonths 使用 AddDays 函数:

ToDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
ToDate.AddDays(-1).ToString("dd/MM/yyyy");

Here 是有效的 fiddle.

上个月第一天:

 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));