- Code: Select all
var vDuration = scopes.svyDateUtils.createDurationFromDates(globals.search_date1,globals.search_date2)
- Code: Select all
var vDurationEndDate = vDuration.getEndOfDuration(globals.var_date1)
This however fails with this exception:
Exception Object: org.mozilla.javascript.EvaluatorException: Can't find method java.util.GregorianCalendar.add(number,org.mozilla.javascript.Undefined)
Looking through svyDateUtils.js it seems there are a couple of omissions in the code. Changing this
- Code: Select all
this.getEndOfDuration = function(startDate) {
calendar.setTimeInMillis(startDate.getTime());
if (this.negative) {
calendar.add(java.util.Calendar.WEEK_OF_YEAR, -weeks);
calendar.add(java.util.Calendar.DAY_OF_WEEK, -days);
calendar.add(java.util.Calendar.HOUR_OF_DAY, -hours);
calendar.add(java.util.Calendar.MINUTE, -minutes);
calendar.add(java.util.Calendar.SECOND, -seconds);
}
else {
calendar.add(java.util.Calendar.WEEK_OF_YEAR, weeks);
calendar.add(java.util.Calendar.DAY_OF_WEEK, days);
calendar.add(java.util.Calendar.HOUR_OF_DAY, hours);
calendar.add(java.util.Calendar.MINUTE, minutes);
calendar.add(java.util.Calendar.SECOND, seconds);
}
return new Date(calendar.getTimeInMillis());
}
- Code: Select all
this.getEndOfDuration = function(startDate) {
calendar.setTimeInMillis(startDate.getTime());
if (this.negative) {
calendar.add(java.util.Calendar.WEEK_OF_YEAR, -this.weeks);
calendar.add(java.util.Calendar.DAY_OF_WEEK, -this.days);
calendar.add(java.util.Calendar.HOUR_OF_DAY, -this.hours);
calendar.add(java.util.Calendar.MINUTE, -this.minutes);
calendar.add(java.util.Calendar.SECOND, -this.seconds);
}
else {
calendar.add(java.util.Calendar.WEEK_OF_YEAR, this.weeks);
calendar.add(java.util.Calendar.DAY_OF_WEEK, this.days);
calendar.add(java.util.Calendar.HOUR_OF_DAY, this.hours);
calendar.add(java.util.Calendar.MINUTE, this.minutes);
calendar.add(java.util.Calendar.SECOND, this.seconds);
}
return new Date(calendar.getTimeInMillis());
}