gpt4 book ai didi

c# - DateTime.AddMonths 仅添加月份而不是日期

转载 作者:IT王子 更新时间:2023-10-29 04:36:46 26 4
gpt4 key购买 nike

比方说,我有 2010 年 2 月 28 日,并使用 AddMonths(1)...
在该日期上加一个月结果日期是 3 月 28 日,但不是我想要的 3 月 31 日
有没有办法稍微调整一下,这样就可以在不添加自定义代码的情况下工作?

编辑:我不需要一个月的最后一天,实际上我需要加一个月,但是当它是一个月的最后一天时,我需要找到下个月的最后一天。

最佳答案

我不知道你想达到什么目的,但你可以加一天,加一个月,减一天。

DateTime nextMonth = date.AddDays(1).AddMonths(1).AddDays(-1);

编辑:

正如其中一位评论者所指出的,这有时会给出错误的结果。阅读您更新后的问题后,我认为计算所需日期的最简单方法是:

public static DateTime NextMonth(this DateTime date)
{
if (date.Day != DateTime.DaysInMonth(date.Year, date.Month))
return date.AddMonths(1);
else
return date.AddDays(1).AddMonths(1).AddDays(-1);
}

此扩展方法返回下个月的日期。当前日期为当月最后一天时,返回下个月的最后一天。

关于c# - DateTime.AddMonths 仅添加月份而不是日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3060381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com