📅  最后修改于: 2023-12-03 15:27:48.830000             🧑  作者: Mango
在开发过程中,我们可能需要获取两个日期之间所有的月份和年份,本文将介绍如何使用C#来实现。
我们可以先获取两个日期之间相差的月份数,根据相差的月份数依次添加月份和年份到列表中。使用C#的DateTime类来实现。
public static List<string> GetMonthAndYearList(DateTime startDate, DateTime endDate)
{
List<string> monthAndYearList = new List<string>();
int monthCount = ((endDate.Year - startDate.Year) * 12) + endDate.Month - startDate.Month + 1;
for (int i = 0; i < monthCount; i++)
{
DateTime thisMonth = startDate.AddMonths(i);
string monthAndYear = thisMonth.ToString("yyyy-MM");
monthAndYearList.Add(monthAndYear);
}
return monthAndYearList;
}
GetMonthAndYearList
是一个静态方法,用于获取月份和年份列表。monthAndYearList
是一个字符串列表,用于存储月份和年份。startDate
是开始日期。endDate
是结束日期。monthCount
是两个日期之间相差的月份数。for
循环依次遍历月份,并将每个月份添加到列表中。thisMonth
是当前的月份。monthAndYear
是当前月份的年份和月份,格式为 yyyy-MM
。monthAndYear
添加到列表中。monthAndYearList
。static void Main(string[] args)
{
DateTime startDate = new DateTime(2021, 1, 1);
DateTime endDate = new DateTime(2021, 6, 1);
List<string> monthAndYearList = GetMonthAndYearList(startDate, endDate);
foreach (string monthAndYear in monthAndYearList)
{
Console.WriteLine(monthAndYear);
}
Console.ReadKey();
}
输出:
2021-01
2021-02
2021-03
2021-04
2021-05
2021-06
本文介绍了如何使用C#获取两个日期之间的月份和年份列表,实现起来非常简单。这个方法可以用于生成月份或者年份报表,或者其它需要按月份或者年份统计的业务需求。