C#根据时间范围获取每年每月每周的分组
简介:C#根据时间范围获取每年每月每周的分组,这个时间范围可以是多年(2012.01.01-2015.12.31),
也可以是一年中的几个月(2015.01.01-2015.12.31),也可以是月个月中的几个星期
(2015.01.01-2015.01.21),根据起始日期和结束日期,生成一个以起始日期和结束日期为
键值对的字典(Dictionary<string, string> ),时间仓促,初步写的算法,以后再优化,目前
唯一的一点小遗憾就是,月中每周键值对的排序问题。详细代码如下:
-------------------------------------------------------------------------------------------------------------------------
根据时间范围获取每年每月每周的分组:
/// <summary>
/// 根据时间范围获取每年每月每周的分组
/// </summary>
/// <param name="strStartDate">起始时间</param>
/// <param name="strEndDate">结束时间</param>
/// <returns>返回每周起始结束键值对</returns>
/// <remarks>创建人员(日期):★彭振★(150106 11:12)</remarks>
public static Dictionary<string, string> GetGroupWeekByDateRange(string strStartDate, string strEndDate)
{
Dictionary<string, string> dict = new Dictionary<string, string>();
DateTime dtStartDate = DateTime.Parse(strStartDate);
DateTime dtEndDate = DateTime.Parse(strEndDate);
//同年
if (dtStartDate.Year == dtEndDate.Year)
{
GetGroupWeekByYear(dict, dtStartDate, dtEndDate);
}
//不同年
else
{
int WhileCount = dtEndDate.Year - dtStartDate.Year;
//某年一共有多少天
int YearDay = DateTime.IsLeapYear(dtStartDate.Year) ? 366 : 365;
Da

本文介绍了如何使用C#编程语言根据指定的时间范围,如多年、一年中几个月或某月内的几周,来获取每年、每月、每周的分组。通过创建一个以起始和结束日期为键值对的字典,实现了时间分组。虽然目前存在月中每周键值对排序的问题,但提供了基本的解决方案和示例代码。


被折叠的 条评论
为什么被折叠?



