gpt4 book ai didi

c# - 在 C# 中循环当前年月到下年月

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:13 27 4
gpt4 key购买 nike

我遇到了一个问题,我程序中写的逻辑如下

while (lastDate.Month < DateTime.Today.Month - 1)//
{
lastDate= lastDate.AddMonths(1);
list.Add(lastDate);
}

当 lastDate 月份是 Dec 并且我在新年的 1 月或 2 月执行此代码时,此代码失败,因为 12 永远不会大于 1 0r 2。

我需要编写一个逻辑,使我的循环可以遍历 Nov、Dec、Jan、Feb 等等。

我写了下面的代码,但我没有得到退出的线索,当 lastDate 和今天的日期相差 2 个月时,循环应该退出。

if (lastDate.Month > DateTime.Today.Month && lastDate.Year < DateTime.Today.Year)
{
while (lastDate.Year <= DateTime.Today.Year)
{
lastDate= lastDate.AddMonths(1);
list.Add(lastDate);

}

请帮帮我

最佳答案

您总是会在列表中添加 12 个月,因此您可以使用 for 循环:

for(var i = 0; i < 12; i++)
{
lastDate = lastDate.AddMonths(1);
list.Add(lastDate);
}

正如您知道必须将一个月加多少次一样,不需要根据月份和年份来设置条件,而只需要一个计数器来恰好执行此代码 12 次。

关于c# - 在 C# 中循环当前年月到下年月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16272498/

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