Skip to content

Instantly share code, notes, and snippets.

@tkaczmarzyk
Last active October 10, 2015 21:48
Show Gist options
  • Select an option

  • Save tkaczmarzyk/3755945 to your computer and use it in GitHub Desktop.

Select an option

Save tkaczmarzyk/3755945 to your computer and use it in GitHub Desktop.
Date Util
public class DateUtil {
public static Date newDate(int year, int month, int day) {
return newDate(year, month, day, 0, 0, 0);
}
public static Date newDate(int year, int month, int day, int hourOfDay, int minute, int second) {
Calendar calendar = newCalendar(new Date());
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, day);
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, second);
calendar.clear(Calendar.MILLISECOND);
return calendar.getTime();
}
public static Date withTime(Date date, int hourOfDay, int minute, int second) {
Calendar calendar = newCalendar(date);
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, second);
return calendar.getTime();
}
public static int getYear(Date date) {
return newCalendar(date).get(Calendar.YEAR);
}
public static int getMonth(Date date) {
return newCalendar(date).get(Calendar.MONTH);
}
public static int getDay(Date date) {
return newCalendar(date).get(Calendar.DAY_OF_MONTH);
}
public static int getHour(Date date) {
return newCalendar(date).get(Calendar.HOUR_OF_DAY);
}
public static int getMinute(Date date) {
return newCalendar(date).get(Calendar.MINUTE);
}
public static Date addMonths(int months, Date date) {
Calendar calendar = newCalendar(date);
calendar.add(Calendar.MONTH, months);
return calendar.getTime();
}
public static Date addMonthsToNow(int months) {
return addMonths(months, new Date());
}
public static Date addDaysToNow(int days) {
return addDays(days, new Date());
}
public static Date addDays(int days, Date date) {
Calendar calendar = newCalendar(date);
calendar.add(Calendar.DAY_OF_MONTH, days);
return calendar.getTime();
}
public static Date addYears(int years, Date date) {
Calendar calendar = newCalendar(date);
calendar.add(Calendar.YEAR, years);
return calendar.getTime();
}
public static Date addMinutes(int minutes, Date date) {
Calendar calendar = newCalendar(date);
calendar.add(Calendar.MINUTE, minutes);
return calendar.getTime();
}
public static Date addMinutesToNow(int minutes) {
return addMinutes(minutes, new Date());
}
public static Date addSeconds(int seconds, Date date) {
Calendar calendar = newCalendar(date);
calendar.add(Calendar.SECOND, seconds);
return calendar.getTime();
}
public static Date addYearsToNow(int years) {
return addYears(years, new Date());
}
public static Date today() {
return new Date();
}
public static Date today(int hour, int minute) {
return withTime(today(), hour, minute, 0);
}
public static Date yesterday() {
return addDaysToNow(-1);
}
public static Date minAgo() {
return addMinutesToNow(-1);
}
public static Date tomorrow() {
return addDaysToNow(1);
}
public static Date tomorrow(int hour, int minute) {
return withTime(tomorrow(), hour, minute, 0);
}
public static Date nextWeek() {
return addDaysToNow(7);
}
public static Date weekAgo() {
return addDaysToNow(-7);
}
public static int get(int field, Date date) {
Calendar calendar = newCalendar(date);
return calendar.get(field);
}
private static Calendar newCalendar(Date date) {
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
return calendar;
}
public static boolean isFirstDayOfMonth() {
Calendar calendar = newCalendar(new Date());
return calendar.get(Calendar.DAY_OF_MONTH) == 1;
}
public static boolean isLastDayOfMonth() {
Calendar calendar = newCalendar(new Date());
int lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
return calendar.get(Calendar.DAY_OF_MONTH) == lastDay;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment