小编Bla*_*own的帖子

为什么 DateTime.AddMonths(3).AddMonths(3); 给出与 DateTime.AddMonths(6); 不同的结果?

我有一个单元测试,其中预期结果是 DateTime 并设置如下:

var expectedResult = DateTime.Today.AddMonths(3).AddMonths(3);
Run Code Online (Sandbox Code Playgroud)

之后我有一个函数可以为日期添加季度:

DateTime.AddMonths(3 * numberOfTimes);
Run Code Online (Sandbox Code Playgroud)

numberOfTimes在本例中是 2。

结果因日期而异。今天是 31/01/2023,预期结果是 30/07/2023,函数结果是 31/07/2023。

我预计结果会相同,因为从开始日期算起 6 个月应该是相同的天数。我很好奇为什么会发生这种情况。现在,我通过在预期结果部分中执行 3 * numberOfTimes 解决了该问题。

只是出于好奇为什么会发生这种情况?

c# datetime

2
推荐指数
1
解决办法
115
查看次数

标签 统计

c# ×1

datetime ×1