C#DateTime中的负值

And*_*eas 7 c# datetime

有没有办法在调用DateTime构造函数时设置负值.

像这样:

DateTime date = new DateTime(2011, 2, -1);
Run Code Online (Sandbox Code Playgroud)

会是这样的:

DateTime date = new DateTime(2011, 1, 31);
Run Code Online (Sandbox Code Playgroud)

我知道这适用于其他语言,但问题是C#.net在我这样做时会引发异常.有关如何在C#.net中执行此操作的任何想法?

Jen*_*ens 11

使用

DateTime date = new DateTime(2011, 2,1).AddDays(-1);
Run Code Online (Sandbox Code Playgroud)

  • @ nik0lias:呵呵=)我有数学背景,如果你不能添加负值,会感到困惑! (2认同)

Jon*_*eet 8

你不能.如果你想要获得该月的最后一天,你应该从下个月的开始开始,然后在一天内起飞,或者使用DateTime.DaysInMonth(year, month).

就个人而言,我会使用第二种方法,否则你必须确保你在12月1月1日开始时正确地找到12月的最后一天.这是我使用的代码:

DateTime date = new DateTime(year, month, DateTime.DaysInMonth(year, month));
Run Code Online (Sandbox Code Playgroud)