基于搜索功能的DateTime解析

时间:2013-05-07 21:41:01

标签: c# asp.net-mvc

我有一个搜索功能,其中也包含日期。我遇到的问题是:

在搜索功能中添加2个日期时,例如:

2013-04-10和2013-04-11它仅显示2013-04-10至23:59或者如果我搜索相同的日期

2013-04-10和2013-04-10它没有找到任何打击。

代码是这样的:

Func<string, string> emptyToNull = s => String.IsNullOrWhiteSpace(s) ? null : s.Trim();

var from = emptyToNull(input.CreditApplicationSearchFromDate);
var to = emptyToNull(input.CreditApplicationSearchToDate);

from = from ?? DateTime.Today.ToString("yyyy-MM-dd");
to = to ?? DateTime.Today.ToString("yyyy-MM-dd");

我想这样做:

Func<string, string> emptyToNull = s => String.IsNullOrWhiteSpace(s) ? null : s.Trim();

var from = emptyToNull(input.CreditApplicationSearchFromDate);
var to = emptyToNull(input.CreditApplicationSearchToDate);

from = from ?? new DateTime().ToString("yyyy-MM-dd HH:mm");
to = to ?? new DateTime().ToString("yyyy-MM-dd HH:mm");

但是不好,我不知道在搜索时如何显示 2013-04-10和2013-04-10找到全天的点击量

1 个答案:

答案 0 :(得分:0)

您需要指定一整天的开始和结束时间,或者更好 - 指定第二天的开始时间:

from = from ?? DateTime.Now.Date.ToString("yyyy-MM-dd");
to = to ?? new DateTime.Now.Date.AddDays(1).ToString("yyyy-MM-dd");

请注意使用Now.Date为您提供没有时间组件的当前日期(new DateTime()将无法编译,因此我真的不知道您从哪里得到这段代码。)