如何在月末添加日期到DateTime?

And*_*ndy 9 c# datetime

我通过在当前日期添加一天来创建DateTime(如下所示).我需要设置的具体时间如下所示.下面这段代码很有用,直到我到月底我要添加一天.

你可以帮我改变我的代码,以便它在当天工作日结束时工作,并且我试图添加一天,以便它切换到12月1日而不是11月31日(例如)并抛出错误.

var ldUserEndTime = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day + 1, 00, 45, 00);
Run Code Online (Sandbox Code Playgroud)

Son*_*nül 13

您只需要使用使用属性的DateTime.AddDays方法来获取它的午夜并添加分钟.Date45

var ldUserEndTime = dateNow.AddDays(1).Date.AddMinutes(45);
Run Code Online (Sandbox Code Playgroud)

由于11月没有第31天,这个构造函数抛出异常.

DateTime(Int32,?Int32,?Int32,?Int32,?Int32,?Int32)页面上的例外部分;

ArgumentOutOfRangeException - day小于1 或大于月中的天数


ror*_*.ap 6

也许某种混合方法最适合您,这样您就可以获得时间组件并在月末没有麻烦的情况下添加日期:

var ldUserEndTime = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 00, 45, 00).AddDays(1);
Run Code Online (Sandbox Code Playgroud)

AddDays方法将自动考虑月份翻转,所以如果今天是月末(嘿,它是!),那么你会得到2015-12-01 12:45:00.


Gar*_*ill 2

var ldUserEndTime = DateTime.Today + new TimeSpan(1, 0, 45, 0);
Run Code Online (Sandbox Code Playgroud)