C# 基于按月份筛选的两个日期值获取数据

C# 基于按月份筛选的两个日期值获取数据,c#,asp.net,C#,Asp.net,我有活动列表,每个活动有两个日期;开始日期和结束日期。我想按月份创建一个过滤器。如何返回介于用户选择的月份之间的日期? 例如,假设用户选择十月,我想返回这个月内的所有事件 我曾经用它来获取介于今天日期之间的日期,但现在我一直在研究如何获取介于一个月之间的日期 DateTime dateToCheck = DateTime.Today.Date; DateTime startDate = DateTime.Parse(item["Start Time"].ToString()); DateTime

我有活动列表,每个活动有两个日期;开始日期和结束日期。我想按月份创建一个过滤器。如何返回介于用户选择的月份之间的日期? 例如,假设用户选择十月,我想返回这个月内的所有事件

我曾经用它来获取介于今天日期之间的日期,但现在我一直在研究如何获取介于一个月之间的日期

DateTime dateToCheck = DateTime.Today.Date;
DateTime startDate = DateTime.Parse(item["Start Time"].ToString());
DateTime endDate = DateTime.Parse(item["End Time"].ToString());
foreach (SPListItem item in collection)
{
    if (startDate <= dateToCheck && dateToCheck < endDate)
    {
         ListBox1.Items.Add(item["EventTitle"].ToString());
    } 
}
DateTime dateToCheck=DateTime.Today.Date;
DateTime startDate=DateTime.Parse(项[“开始时间”].ToString());
DateTime endDate=DateTime.Parse(项[“结束时间”].ToString());
foreach(集合中的SPListItem项)
{
如果(开始日期)
编辑:如果您需要确保日期也具有正确的年份,请使用

var dates = new[] {DateTime.Now, DateTime.Now, DateTime.Now};
int year = GetYear();
int month = GetMonth();
var result = dates.Where(date => date.Year == year && date.Month == month);
当然,您可以从任何地方获得年/月编号以及日期列表

EDIT2:如果您获得DateTime对象作为输入,请相应修改:

var dates = new[] {DateTime.Now, DateTime.Now, DateTime.Now};
var input = GetDateTime();
var result = dates.Where(date => date.Year == input.Year && date.Month == input.Month);

您仍然可以使用您的代码,只需稍加修改。作为开始日期,您必须选择本月1日的00:00时间,作为结束日期,您必须选择下个月1日的00:00时间。如果是2015年10月,则为:
2015年10月1日,请添加更多信息。您尝试过什么吗?很难仅从文本中得出答案。
var dates = new[] {DateTime.Now, DateTime.Now, DateTime.Now};
var input = GetDateTime();
var result = dates.Where(date => date.Year == input.Year && date.Month == input.Month);
int year = 2015;
int month = 10;
DateTime dateToCheck = DateTime.Today.Date;
DateTime startDate = new DateTime(year, month, 1);
DateTime endDate = startDate.AddMonths(1);
foreach (SPListItem item in collection)
{
    if (startDate <= dateToCheck && dateToCheck < endDate)
    {
         ListBox1.Items.Add(item["EventTitle"].ToString());
    } 
}