我想创建一个Predicate,允许用户在日期中搜索文本字符串。
breeze.Predicate.create('startDate', 'contains', filterValue);
过滤器值由用户输入,例如。 '2014-06-'
'contains'
不适用于DateTime类型。
创建谓词时可以将'startDate'
转换为格式化的字符串类型吗?
任何帮助表示感谢。
答案 0 :(得分:0)
假设日期格式固定为yyyy-mm-dd,那么您最好的选择可能是将部分日期转换为实际日期。
filterStartDate
)和该月的最后一天(filterEndDate
)。你可以看看there来做到这一点。通过这两个日期,您将能够使用以下内容模仿contains
:Predicate
.create('startDate', '>=', filterStartDate)
.or( 'startDate', '<', filterEndDate);
filterYear
)并执行以下操作:Predicate
.create('startDate', '>=', new Date(Date.UTC(filterYear, 0, 1)))
.or( 'startDate', '<', new Date(Date.UTC(filterYear, 11, 30)));
当然,如果过滤器值是完整日期,那么请查找此日期。