我确信这是一个菜鸟的问题:我正在努力应对价值与参考。
我必须循环一个日期时段并将日期收集到DateTime数组(= IBM Notes中的多值字段)。我的代码类似于:
public void createFreeslots(Document mydesk) {
Vector myfreetimes = new Vector();
try {
DateTime dtN = (DateTime) mydesk.getItemValue("dsFrom").get(0);
DateTime dtEnd = (DateTime) mydesk.getItemValue("dsTo").get(0);
Vector myslot = mydesk.getItemValue("dsPeriod");
while (dtN.timeDifference(dtEnd) <= 0) { //endDate not reached?
collectFreeslots(dtN, myslot, myfreetimes);
dtN.adjustDay(1); //increase by one day
}
mydesk.replaceItemValue("dsFreeslots", myfreetimes);
mydesk.save(true);
dtN.recycle();
dtEnd.recycle();
//s.recycle();
} catch (NotesException e) {
// TODO Auto-generated catch block
System.out.println("error in createFreeslots");
e.printStackTrace();
}
}
private void collectFreeslots(DateTime dN, Vector myslot, Vector myfreetimes) {
if (something with myslot is true) {
myfreetimes.add(dN);
}
}
我想得到的是[02/22 / 2018,02 / 23 / 2018,02 / 24 / 2018,02 / 25/2018],
但 - 当然 - 我得到了:[02/25 / 2018,02 / 25 / 2018,02 / 25 / 2018,02 / 25/2018]
(不是作为字符串数组,而是作为日期时间对象数组)。
有没有一种优雅的方法来解决这个问题?
提前致谢,Uwe