C# 如何在月底将日期添加到日期时间?

C# 如何在月底将日期添加到日期时间?,c#,datetime,C#,Datetime,我通过在当前日期(如下所示)上添加一天来创建日期时间。我需要的具体时间设置如下所示。下面的代码非常有效,直到月底我要增加一天 您能帮我更改代码,使其在当前日期在月末时工作,并且我尝试添加一天,使其切换到12月1日而不是11月31日(例如),并抛出错误 var ldUserEndTime = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day + 1, 00, 45, 00); 也许某种混合方法最适合您,这样您就可以获得时间成分并添加日期,

我通过在当前日期(如下所示)上添加一天来创建日期时间。我需要的具体时间设置如下所示。下面的代码非常有效,直到月底我要增加一天

您能帮我更改代码,使其在当前日期在月末时工作,并且我尝试添加一天,使其切换到12月1日而不是11月31日(例如),并抛出错误

var ldUserEndTime = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day + 1, 00, 45, 00);

也许某种混合方法最适合您,这样您就可以获得时间成分并添加日期,而不会在月末遇到麻烦:

var ldUserEndTime = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 00, 45, 00).AddDays(1);
AddDays
方法将自动考虑月结,因此如果今天是月底(嘿,是!),那么您将得到
2015-12-01 12:45:00

,您只需使用获得午夜并添加
45
分钟

var ldUserEndTime = dateNow.AddDays(1).Date.AddMinutes(45);
由于中的第31天没有as,此构造函数引发异常

从第页的例外部分

ArgumentOutOfRangeException-天小于1或大于 月份天数


这应该可以做到:

DateTime ldUserEndTime = DateTime.Today.AddDays(1).AddMinutes(45);

尝试使用
dateNow.AddDays(1)
或者
var ldUserEndTime=DateTime.Today.AddHours(24.75),而不是使用显式值创建
DateTime
。这是24小时零三刻钟。谢谢Gary和所有人,我用了这个,它工作得非常好!!
var ldUserEndTime = DateTime.Today + new TimeSpan(1, 0, 45, 0);