C#根据时间范围获取每年每月每周的分组

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

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;
        DateTime dtTempStartDate = dtStartDate;

        DateTime dtTempEndDate = dtTempStartDate.AddDays(YearDay - dtTempStartDate.DayOfYear);

        //根据时间范围获取每月每周的分组
        GetGroupWeekByYear(dict, dtTempStartDat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值