查找给定范围内的所有插槽

Bil*_*lla 1 c# sql sql-server datetime

如何查找范围内的所有日期位置..

从日期 01- Jan -2014 00:00:00 A.M

至今 15-Oct-2014 00:00:00 P.M

事件开始日期03-Jan-2014 10:00 A.M每3天发生一次,分别为03,06,09等

我需要使用c#计算如下所示

03-JAN-2014

06-JAN-2014

09-JAN-2014

12-JAN-2014

等等,等等

如何在c#中完成这些计算?尝试在DB中失败,请选中显示下一个事件日期

Son*_*nül 6

正如我在评论中提到的,你可以使用DateTime.AddDays()类似的方法;

DateTime dt1 = new DateTime(2014, 1, 1);
DateTime dt2 = new DateTime(2014, 10, 15);
DateTime start = new DateTime(2014, 1, 3);

while (start < dt2)
{
    Console.WriteLine(start.ToString("dd-MMM-yyyy"));
    start = start.AddDays(3);
}
Run Code Online (Sandbox Code Playgroud)

这里一个demonstration.

如果你想显示1 5-Oct-2014也是如此,只需将你的start < dt2条件改为start <= dt2

输出将是;

03-Jan-2014
06-Jan-2014
09-Jan-2014
12-Jan-2014
15-Jan-2014
18-Jan-2014
21-Jan-2014
24-Jan-2014
27-Jan-2014
30-Jan-2014
02-Feb-2014
05-Feb-2014
08-Feb-2014
11-Feb-2014
14-Feb-2014
17-Feb-2014
20-Feb-2014
23-Feb-2014
26-Feb-2014
01-Mar-2014
04-Mar-2014
07-Mar-2014
10-Mar-2014
13-Mar-2014
16-Mar-2014
19-Mar-2014
22-Mar-2014
25-Mar-2014
28-Mar-2014
31-Mar-2014
03-Apr-2014
06-Apr-2014
09-Apr-2014
12-Apr-2014
15-Apr-2014
18-Apr-2014
21-Apr-2014
24-Apr-2014
27-Apr-2014
30-Apr-2014
03-May-2014
06-May-2014
09-May-2014
12-May-2014
15-May-2014
18-May-2014
21-May-2014
24-May-2014
27-May-2014
30-May-2014
02-Jun-2014
05-Jun-2014
08-Jun-2014
11-Jun-2014
14-Jun-2014
17-Jun-2014
20-Jun-2014
23-Jun-2014
26-Jun-2014
29-Jun-2014
02-Jul-2014
05-Jul-2014
08-Jul-2014
11-Jul-2014
14-Jul-2014
17-Jul-2014
20-Jul-2014
23-Jul-2014
26-Jul-2014
29-Jul-2014
01-Aug-2014
04-Aug-2014
07-Aug-2014
10-Aug-2014
13-Aug-2014
16-Aug-2014
19-Aug-2014
22-Aug-2014
25-Aug-2014
28-Aug-2014
31-Aug-2014
03-Sep-2014
06-Sep-2014
09-Sep-2014
12-Sep-2014
15-Sep-2014
18-Sep-2014
21-Sep-2014
24-Sep-2014
27-Sep-2014
30-Sep-2014
03-Oct-2014
06-Oct-2014
09-Oct-2014
12-Oct-2014
Run Code Online (Sandbox Code Playgroud)