将DateTime设置为下个月的第一个月?

pro*_*don 9 c#

如果我有 var olddate = DateTime.Parse('05/13/2012');

而且我想得到 var newdate = (the first of the month after olddate, 06/01/2012 in this case);

我会编码什么?我试图设置月份+ 1但月份没有制定者.

Dav*_*ych 21

试试这个:

olddate = olddate.AddMonths(1);
DateTime newDate = new DateTime(olddate.Year, olddate.Month, 1, 
    0, 0, 0, olddate.Kind);
Run Code Online (Sandbox Code Playgroud)


Cor*_*son 7

这不会导致超出范围的错误,并将保留其DateTime种类.

dt = dt.AddMonths(1.0);
dt = new DateTime(dt.Year, dt.Month, 1, 0, 0, 0, dt.Kind);
Run Code Online (Sandbox Code Playgroud)