获取当月的第一天和最后一天

use*_*667 38 c# date

我这里有2个datepicker用于开始日期结束日期.

我怎样才能获得当月的第一天和最后一天

rdpStartDate.SelectedDate = DateTime.Now;
rdpEndDate.SelectedDate = DateTime.Now;
Run Code Online (Sandbox Code Playgroud)

Chr*_*hao 97

DateTime now = DateTime.Now;
var startDate = new DateTime(now.Year, now.Month, 1);
var endDate = startDate.AddMonths(1).AddDays(-1);
Run Code Online (Sandbox Code Playgroud)

  • @InquisitorJax在这种情况下,如果可能的话,我赞成在逻辑中使用 `<` 或 `>` 而不是 `<=` 或 `>=`。例如,如果您的程序认为截止值是“<= 2019-10-31T23:59:59.9999999”,但数据库服务器或远程服务器将截止值解释为“<= 2019-”,则您可能会在其他系统中遇到精确错误。 10-31T23:59:59.999`。如果您指定“< 2019-11-01T00:00:00.0000000”,则不会出现该问题。 (2认同)

Mar*_*zek 29

var now = DateTime.Now;
var first = new DateTime(now.Year, now.Month, 1);
var last = first.AddMonths(1).AddDays(-1);
Run Code Online (Sandbox Code Playgroud)

你也可以使用DateTime.DaysInMonth方法:

var last = new DateTime(now.Year, now.Month, DateTime.DaysInMonth(now.Year, now.Month));
Run Code Online (Sandbox Code Playgroud)

  • 击败7秒!Boooo.=) (2认同)

TyC*_*obb 9

var myDate = DateTime.Now;
var startOfMonth = new DateTime(myDate.Year, myDate.Month, 1);
var endOfMonth = startOfMonth.AddMonths(1).AddDays(-1);
Run Code Online (Sandbox Code Playgroud)

这应该给你你需要的东西.


Jad*_*ade 6

试试这个已经用c#构建的代码

int lastDay = DateTime.DaysInMonth (2014, 2);
Run Code Online (Sandbox Code Playgroud)

第一天总是1.

祝好运!