我有这段代码:
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 ?这可以解释它。但如果是昨天的日期,我只想排除它。
我该如何解决这个问题?
感谢。
答案 0 :(得分:4)
您可以使用DateTime.Now.Date
来获取没有时间组件的值,或者更准确地说,将时间组件设置为午夜。
答案 1 :(得分:4)
正如您在问题中提到的,d
和DateTime.Now
都会使用TimeStamp,如果您想要排除TimeStamp意味着您必须使用d.Date
以及{{1 (今天会给你没有TimeStamp的日期,等于DateTime.Today
所以这一行DateTime.Now.Date
应该是这样的:
listDatesNotAvailable.Where(d => d >= DateTime.Now)