diff --git a/src/main/java/no/nibio/vips/util/XDate.java b/src/main/java/no/nibio/vips/util/XDate.java index 1ab78ccfc17bd1f65a919f8b79a0aebc4415a6f2..335a8885e1a057f35dff30a61e0d2561606c45db 100644 --- a/src/main/java/no/nibio/vips/util/XDate.java +++ b/src/main/java/no/nibio/vips/util/XDate.java @@ -38,81 +38,133 @@ public class XDate extends java.util.Date{ this.setTime(date.getTime()); } + /** + * Move this date one year forward + */ public void add1Year() { - Calendar cal = Calendar.getInstance(); - cal.setTime(this); - cal.add(Calendar.YEAR, 1); - this.setTime(cal.getTime().getTime()); + this.addYears(1); } + /** + * Move this date one week forward + */ public void add1Week() { - Calendar cal = Calendar.getInstance(); - cal.setTime(this); - cal.add(Calendar.WEEK_OF_YEAR, 1); - this.setTime(cal.getTime().getTime()); + this.addWeeks(1); } + /** + * Move this date one day forward + */ public void add1Day() { - Calendar cal = Calendar.getInstance(); - cal.setTime(this); - cal.add(Calendar.DATE, 1); - this.setTime(cal.getTime().getTime()); + this.addDays(1); } + /** + * Move this date one hour forward + */ public void add1Hour() { - Calendar cal = Calendar.getInstance(); - cal.setTime(this); - cal.add(Calendar.HOUR_OF_DAY, 1); - this.setTime(cal.getTime().getTime()); + this.addHours(1); } + /** + * Move this date one year back + */ public void subtract1Year() { - Calendar cal = Calendar.getInstance(); - cal.setTime(this); - cal.add(Calendar.YEAR, -1); - this.setTime(cal.getTime().getTime()); + this.addYears(-1); } + /** + * Move this date one week back + */ public void subtract1Week() { - Calendar cal = Calendar.getInstance(); - cal.setTime(this); - cal.add(Calendar.WEEK_OF_YEAR, -1); - this.setTime(cal.getTime().getTime()); + this.addWeeks(-1); } + /** + * Move this date one day back + */ public void subtract1Day() { + this.addDays(-1); + } + + /** + * Move this date one hour back + */ + public void subtract1Hour() + { + this.addHours(-1); + } + + /** + * + * @return Yesterday at same time + */ + public Date getYesterday(){ Calendar cal = Calendar.getInstance(); cal.setTime(this); cal.add(Calendar.DATE, -1); + return cal.getTime(); + } + + /** + * + * @return Tomorrow at same time + */ + public Date getTomorrow(){ + Calendar cal = Calendar.getInstance(); + cal.setTime(this); + cal.add(Calendar.DATE, +1); + return cal.getTime(); + } + + /** + * Move this date a number of hours forward (negative numbers move backwards) + * @param hours + */ + public void addHours(Integer hours){ + Calendar cal = Calendar.getInstance(); + cal.setTime(this); + cal.add(Calendar.HOUR_OF_DAY, hours); this.setTime(cal.getTime().getTime()); } - public void subtract1Hour() - { + /** + * Move this date a number of days forward (negative numbers move backwards) + * @param days + */ + public void addDays(Integer days){ Calendar cal = Calendar.getInstance(); cal.setTime(this); - cal.add(Calendar.HOUR_OF_DAY, -1); + cal.add(Calendar.DATE, days); this.setTime(cal.getTime().getTime()); } - public Date getYesterday(){ + /** + * Move this date a number of weeks forward (negative numbers move backwards) + * @param weeks + */ + public void addWeeks(Integer weeks){ Calendar cal = Calendar.getInstance(); cal.setTime(this); - cal.add(Calendar.HOUR_OF_DAY, -1); - return cal.getTime(); + cal.add(Calendar.WEEK_OF_YEAR, weeks); + this.setTime(cal.getTime().getTime()); } - public Date getTomorrow(){ + /** + * Move this date a number of years forward (negative numbers move backwards) + * @param years + */ + public void addYears(Integer years){ Calendar cal = Calendar.getInstance(); cal.setTime(this); - cal.add(Calendar.HOUR_OF_DAY, +1); - return cal.getTime(); + cal.add(Calendar.YEAR, years); + this.setTime(cal.getTime().getTime()); } }