C#DateTime中的负值

时间:2011-01-24 11:05:21

标签: c# datetime

调用DateTime构造函数时是否有设置负值的方法。

像这样:

DateTime date = new DateTime(2011, 2, -1);

与:

相同
DateTime date = new DateTime(2011, 1, 31);

我知道这适用于其他语言,但问题是C#.net在我执行此操作时会抛出异常。有关如何在C#.net?

中执行此操作的任何想法

3 个答案:

答案 0 :(得分:11)

使用

DateTime date = new DateTime(2011, 2,1).AddDays(-1);

答案 1 :(得分:8)

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

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

DateTime date = new DateTime(year, month, DateTime.DaysInMonth(year, month));

答案 2 :(得分:1)

DateTime始终是绝对的时间位置。我认为你要搜索的是TimeSpan,也可能是否定的。