gpt4 book ai didi

c# - 列出两个日期之间的月份

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

我想知道给定的开始日期和结束日期,如何检索两个日期之间的月份和年份。

例如:开始日期:'1/1/2011'(mm/dd/yyyy)结束日期:'11/30/2011'。要检索的月份和年份是 January,2011; 2011年2月; 2011年3月;依此类推,直到 2011 年 11 月

最佳答案

我们来了

public static IEnumerable<(string Month, int Year)> MonthsBetween(
DateTime startDate,
DateTime endDate)
{
DateTime iterator;
DateTime limit;

if (endDate > startDate)
{
iterator = new DateTime(startDate.Year, startDate.Month, 1);
limit = endDate;
}
else
{
iterator = new DateTime(endDate.Year, endDate.Month, 1);
limit = startDate;
}

var dateTimeFormat = CultureInfo.CurrentCulture.DateTimeFormat;
while (iterator <= limit)
{
yield return (
dateTimeFormat.GetMonthName(iterator.Month),
iterator.Year
);

iterator = iterator.AddMonths(1);
}
}

显然你是这样调用它的

var startDate = DateTime.ParseExact("01/01/2011", "MM/dd/yyyy");
var endDate = DateTime.ParseExact("11/30/2011", "MM/dd/yyyy");

var months = MonthsBetween(startDate, endDate);

结果应该是这样的

{
{ "January", 2011 },
{ "February", 2011 },
{ "March", 2011 },
{ "April", 2011 },
{ "May", 2011 },
{ "June", 2011 },
{ "July", 2011 },
{ "August", 2011 },
{ "September", 2011 },
{ "October", 2011 },
{ "November", 2011 },
}

月份名称取决于您的文化,我认为这正是您所要求的,对吧?

关于c# - 列出两个日期之间的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11930565/

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