C# 如何在两个日期实例之间查找给定月份中某一天的每月日期

C# 如何在两个日期实例之间查找给定月份中某一天的每月日期,c#,C#,我想知道如何通过datetimepicker查找两个日期之间的日期数。例如,日期范围为2019.02.22至2019.06.19,我必须找到第23个日期(2019.02.23/2019.03.23/2019.04.23/2019.05.23),我希望文本框的结果为4,但我尝试使用以下代码,结果为3,这是错误的答案。非常感谢任何人能在这方面帮助我 DateTime d5 = dateTimePicker1.Value; DateTime d6 = dateTimeP

我想知道如何通过datetimepicker查找两个日期之间的日期数。例如,日期范围为2019.02.22至2019.06.19,我必须找到第23个日期(2019.02.23/2019.03.23/2019.04.23/2019.05.23),我希望文本框的结果为4,但我尝试使用以下代码,结果为3,这是错误的答案。非常感谢任何人能在这方面帮助我

        DateTime d5 = dateTimePicker1.Value;
        DateTime d6 = dateTimePicker3.Value;

        int MonthsElapsednew = ((d5.AddDays(1).Year - d6.AddDays(1).Year) 
        * 12) +(d5.AddDays(1).Month - d6.AddDays(1).Month) 
        (d5.AddDays(1).Day < d6.AddDays(1).Day ? 1 : 0);

        textBox16.Text = MonthsElapsednew.ToString();
DateTime d5=dateTimePicker1.Value;
DateTime d6=dateTimePicker3.Value;
int MonthsElapsednew=((d5.AddDays(1.Year)d6.AddDays(1.Year)
*12)+(d5.AddDays(1.Month)-d6.AddDays(1.Month)
(d5.增加天数(1)。天数
在它的基础上构建就这么简单:

DateTime startdate = new DateTime(2019, 2, 22);
DateTime enddate = new DateTime(2019, 6, 19);

int monthselapsed = Enumerable
    .Range(0, int.MaxValue)
    .Select(index => new DateTime?(startdate.AddDays(index)))
    .TakeWhile(date => date <= enddate)
    .Where(day => day.Value.Day == 23)
    .Count();
DateTime startdate=新日期时间(2019,2,22);
DateTime enddate=新的日期时间(2019,6,19);
int monthseapped=可枚举
.范围(0,int.MaxValue)
.Select(index=>newdatetime?(startdate.AddDays(index)))
.TakeWhile(date=>date-day.Value.day==23)
.Count();
在它的基础上构建就这么简单:

DateTime startdate = new DateTime(2019, 2, 22);
DateTime enddate = new DateTime(2019, 6, 19);

int monthselapsed = Enumerable
    .Range(0, int.MaxValue)
    .Select(index => new DateTime?(startdate.AddDays(index)))
    .TakeWhile(date => date <= enddate)
    .Where(day => day.Value.Day == 23)
    .Count();
DateTime startdate=新日期时间(2019,2,22);
DateTime enddate=新的日期时间(2019,6,19);
int monthseapped=可枚举
.范围(0,int.MaxValue)
.Select(index=>newdatetime?(startdate.AddDays(index)))
.TakeWhile(date=>date-day.Value.day==23)
.Count();

可能重复:您是否正在尝试查找两个日期之间的月份计数?可能重复:我知道您的问题是,您想计算在开始日期和结束日期之间的月份中发生了多少个月的第23天。如果你的日期是30号,那么2月怎么办?@RoshanAbrew,恕我直言,你是需要告诉我们要求的人。您需要告诉我们是否要抛出
异常
,或者在当月的第二天调用(即,如果d5选择1月30日,您可以输出1月31日和2月1日)。可能重复:您是否正在尝试查找两个日期之间的月份计数?可能重复:我理解您的问题是,您想计算在开始日期和结束日期之间的月份中,每月有多少个23天。如果你的日期是30号,那么2月怎么办?@RoshanAbrew,恕我直言,你是需要告诉我们要求的人。您需要告诉我们是否要抛出
异常
,或者在当月的第二天调用(即,如果d5选择1月30日,您可以输出1月31日和2月1日)。@Filburt,谢谢,我正在使用datetimepicker以及如何申请您的代码。请考虑开始日期2019.02.23,发现总天数达到2019.0619,它必须是04、2019.02.3/2019.03.3/2019.04.23/2019.05。23@RoshanAbrew我想如何申请你的代码,答案很清楚。@MarkCiliaVincenti我在这里没有看到任何假设——诚然,这个问题和标题并没有得到最好的表述,但期望的结果是绝对清楚的。@Filburt,请参阅关于这个问题的评论。要求仍然不明确,因此答案总是不成熟的,尽管答案本身是硬编码的。@MarkCiliaVincenti OP必须学会理解代码并对所有边缘情况进行处理。尝试并交付一个现成的解决方案基本上完成OP的所有工作是没有帮助的。@Filburt,谢谢,我正在使用datetimepicker以及如何应用您的代码。请考虑开始日期2019.02.23,发现总天数达到2019.0619,它必须是04、2019.02.3/2019.03.3/2019.04.23/2019.05。23@RoshanAbrew我想如何申请你的代码,答案很清楚。@MarkCiliaVincenti我在这里没有看到任何假设——诚然,这个问题和标题并没有得到最好的表述,但期望的结果是绝对清楚的。@Filburt,请参阅关于这个问题的评论。要求仍然不明确,因此答案总是不成熟的,尽管答案本身是硬编码的。@MarkCiliaVincenti OP必须学会理解代码并对所有边缘情况进行处理。尝试并交付一个现成的解决方案基本上完成OP的所有工作是没有帮助的。