Skip to content

Instantly share code, notes, and snippets.

@RobertFischer
Created September 29, 2015 18:37
Show Gist options
  • Save RobertFischer/3c397b02f5eeb264a8bc to your computer and use it in GitHub Desktop.
Save RobertFischer/3c397b02f5eeb264a8bc to your computer and use it in GitHub Desktop.
public enum TimePeriod {
ONE_YEAR_AGO(Calendar.YEAR, -1),
THREE_MONTHS_AGO(Calendar.MONTH, -3),
// and so on...
;
private int calendarField;
private int changeMagnitude;
private TimePeriod(int calendarField, int changeMagnitude) {
Calendar.getInstance().add(calendarField, changeMagnitude).getTime(); // Sanity check
this.calendarField = calendarField;
this.changeMagnitude = changeMagnitude;
}
public long fromNowMillis() {
return Calendar.getInstance().add(calendarField, changeMagnitude);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment