在两个日期之间每周获取星期一的日期 [英] Get Monday's date every week in between two dates

查看:59
本文介绍了在两个日期之间每周获取星期一的日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在给定的开始日期和结束日期之间的每个星期之后获取星期一日期

How to get a Monday dates after every week in between from given start date and end date

例如

  • 开始日期:2018年12月28日
  • 结束日期:2019年12月29日

因此以下日期应在列表中

So the following dates should be in the list

Monday     : 3-12-2018
Monday     : 14-01-2019
Monday     : 28-01-2019
Monday     : 11-02-2019

这是我的代码:我无法从范围中找到每周之间的时间.如何确定从1周开始的日期.

This my code: I am unable to find the every week in between from the range.how to identify dates that its from 1 week.

任何帮助都将被征用

 DateTime startDate = LimitVmodel.StartDate;
 DateTime endDate = LimitVmodel.EndDate;

 TimeSpan diff = endDate - startDate;

 int days = diff.Days;

 for (long i = 0; i <= days; i++)
     // for (DateTime date = TIR.NetCore.PersianDateTime.ConvertShToM(LimitVmodel.StartDate); date <= TIR.NetCore.PersianDateTime.ConvertShToM(LimitVmodel.EndDate); date = date.AddDays((Double)Week))
 {
     DateTime date;
     date = startDate.AddDays(i);
     DateYear a = new DateYear();

     switch (LimitVmodel.Day)
     {
         case "Saturday":
              if (date.DayOfWeek == DayOfWeek.Saturday)
              {
                  allDates.Add(a);
              }
              break;

         case "Sunday":
              if (date.DayOfWeek == DayOfWeek.Sunday)
              {
                  allDates.Add(a);
              }
              break;

         case "Monday":
              if (date.DayOfWeek == DayOfWeek.Monday)
              {
                  allDates.Add(a);
              }
              break;
}

推荐答案

DateTime date = LimitVmodel.StartDate;

switch (LimitVmodel) {
    case "Monday":
        while (date.DayOfWeek != DayOfWeek.Monday) {
            date = date.AddDays(1);
        }
    break;
    case "Tuesday":
        while (date.DayOfWeek != DayOfWeek.Tuesday) {
            date = date.AddDays(1);
        }
    break;
    //Etc...
}
AllDates.add(date);
while (DateTime.compare(date, LimitVmodel.EndDate) <= 0) {
    date = date.AddDays(7);
    AllDates.add(date);
}

这篇关于在两个日期之间每周获取星期一的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆