【问题标题】:Get first and last day of last month? [duplicate]获取上个月的第一天和最后一天? [复制]
【发布时间】:2015-04-03 23:50:32
【问题描述】:

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

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 月份解决这个问题。

【问题讨论】:

  • 这两个代码块是一样的吗?

标签: c# asp.net date datetime


【解决方案1】:

使用AddDays函数代替AddMonths

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

Here 是一个工作小提琴。

【讨论】:

    【解决方案2】:

    上个月第一天:

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

    【讨论】:

      猜你喜欢
      • 2013-11-25
      • 1970-01-01
      • 2014-03-22
      • 2017-01-07
      • 2013-02-15
      • 2017-01-09
      • 2019-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多