包括使用DateTime.Now从今天开始的日期

时间:2017-01-10 17:03:08

标签: c# datetime

我有这段代码:

public void SetPublisherDatesNotAvailable(string strPublisher, DateTime[]listDatesNotAvailable)
{
    if (_PublisherData.PublisherDictionary.ContainsKey(strPublisher))
    {
        Publisher pPublisher = _PublisherData.PublisherDictionary[strPublisher];
        pPublisher.Availability.DatesNotAvailable =
            new List<DateTime>(listDatesNotAvailable.Where(d => d >= DateTime.Now)); // Ignore past dates

        _PublisherData.PublisherDictionary[strPublisher] = pPublisher;
    }
}

但它没有包含今天日期的任何条目。 似乎也考虑了TimeStamp ?这可以解释它。但如果是昨天的日期,我只想排除它。

我该如何解决这个问题?

感谢。

2 个答案:

答案 0 :(得分:4)

您可以使用DateTime.Now.Date来获取没有时间组件的值,或者更准确地说,将时间组件设置为午夜。

答案 1 :(得分:4)

正如您在问题中提到的,dDateTime.Now都会使用TimeStamp,如果您想要排除TimeStamp意味着您必须使用d.Date以及{{1 (今天会给你没有TimeStamp的日期,等于DateTime.Today所以这一行DateTime.Now.Date应该是这样的:

listDatesNotAvailable.Where(d => d >= DateTime.Now)