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

时间:2015-02-04 12:41:54

标签: c# asp.net date datetime

这就是我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月份。

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