比如一个方法 接收两个时间参数,返回一个集合
集合里面保存区间内出现的日期
传入 2017-03-01 和 2017-06-05
集合中就保存
2017-03-01
2017-03-02
2017-03-03
2017-03-04
直到
2017-06-05
写个方法,逐一的把每个日期都加进去吧。。。。。
怎么加
@~雨落忧伤~:
static List<DateTime> GetList(DateTime date1, DateTime date2)
{
List<DateTime> list;
DateTime temp;
list = new List<DateTime>();
var a = date2 - date1;
for (var i = 0; i <= a.Days; i++)
{
temp = date1.AddDays(i);
list.Add(temp);
}
return list;
}
这样试试看吧
@华临天下:
List<DateTime> liststr = new List<DateTime>();
//DateTime d1 = DateTime.Parse(startdate);
for (DateTime d1 = DateTime.Parse("2015-3-01"); d1 <= DateTime.Parse("2015-7-01"); d1 = d1.AddDays(1))
{
liststr.Add(d1);
}
string sss = "";
foreach (var item in liststr)
{
Console.WriteLine(item);
}
Console.WriteLine();
这样好像也行
@~雨落忧伤~: 能解决就行了啊。。。。能不能给点豆豆
static List<DateTime> CreateDate(DateTime startDate, DateTime endDate)
{
if (endDate.Date < startDate.Date)
{
return new List<DateTime>(0);
}
if (startDate.Date == endDate.Date)
{
return new List<DateTime>(1)
{
startDate.Date
};
}
List<DateTime> dates = new List<DateTime>((endDate - startDate).Days);
var midStartDate = startDate.Date;
var midEndDate = endDate.Date;
while (midEndDate > midStartDate)
{
dates.Add(midStartDate.Date);
dates.Add(midEndDate.Date);
midStartDate = midStartDate.AddDays(1);
midEndDate = midEndDate.AddDays(-1);
}
if (midEndDate == midStartDate)
{
dates.Add(midStartDate.Date);
}
return dates;
}
对顺序没有要求可以这样
好复杂