我需要这样的时间间隔:
SELECT ( resDueDateBegin >= @Today) & (resDueDateEnd <@Adjust(@Today;0;1;0;0;0;0))
其中resDueDateBegin
和resDueDateEnd
是NotesDateTime
对象(项目或字段)。
答案 0 :(得分:2)
最好不要在视图本身的select语句中进行日期过滤。
相反,您可以使用通过键(或一组键)过滤视图的功能。在这种情况下,您可以使用日期范围作为过滤器。
首先,确保您的视图按两个日期字段排序。然后添加您的过滤器键。
下面显示了一个日期范围的过滤器,用于过滤动态视图面板的视图,仅显示日期范围内的文档(由compositeData.limitDays指定的x天)并过滤视图某个类别(compositeData.catFilter)。
<xp:this.keys><![CDATA[#{javascript:
try {
var cal = java.util.Calendar.getInstance();
cal.add(java.util.Calendar.DATE, compositeData.limitDays)
var endDate = cal.getTime();
cal.set(1970, 0, 1);
var startDate = cal.getTime();
var vDateRange = session.createDateRange(startDate, endDate);
var v = new java.util.Vector();
v.addElement(compositeData.catFilter);
v.addElement(vDateRange);
return v;
}catch(e){
print("view filter error: " + e.toString())
}
}]]></xp:this.keys>
使用上述内容,您应该能够过滤两个日期列。
答案 1 :(得分:0)
这是我的扩展名:(现在也是正确的时间)
try {
var cal = java.util.Calendar.getInstance();
cal.add(java.util.Calendar.DATE, 1)
cal.set(java.util.Calendar.HOUR, 0);
cal.set(java.util.Calendar.MINUTE, 0);
cal.set(java.util.Calendar.SECOND, 0);
cal.set(java.util.Calendar.HOUR_OF_DAY, 0);
var endDate = cal.getTime();
cal.set(1970, 0, 1,0,0,0);
var startDate = cal.getTime();
var vDateRange = session.createDateRange(startDate, endDate);
var cal2 = java.util.Calendar.getInstance();
cal2.add(java.util.Calendar.DAY_OF_MONTH, 0)
cal2.set(java.util.Calendar.HOUR, 0);
cal2.set(java.util.Calendar.MINUTE, 0);
cal2.set(java.util.Calendar.SECOND, 0);
cal2.set(java.util.Calendar.HOUR_OF_DAY, 0);
var startDate2 = cal2.getTime();
cal2.set(2100, 0, 1,0,0,0);
var endDate2 = cal2.getTime();
var vDateRange2 = session.createDateRange(startDate2, endDate2);
var v = new java.util.Vector();
v.addElement("Car");
v.addElement(vDateRange);
v.addElement(vDateRange2);
return v;
}catch(e){
print("view filter error: " + e.toString())
}
,Vector v的结果是
Car,01.01.70 00:00:00 CET - 20.06.2014 00:00:00 CEDT,19.06.2014 00:00:00 CEDT - 01.01.2100 00:00:00 CET
bevor时间调整
Car,01.01.70 00:00:00 CET - 18.06.2014 23:06:58 CEDT,17.06.2014 23:06:58 CEDT - 01.01.2100 00:00:00 CET
但唯一的麻烦就是TIME
18.06.2014 21:22:50 CEDT
我们需要18.06.2014 23:59:59 CEDT
或19.06.2014 00:00:00 CEDT