package com.softwaremill.common.util;
import org.joda.time.DateTime;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Util class for Date manipulations
*/
public class DateUtil {
public static final String DATE_FORMAT_YYYYMMDD = "yyyy/MM/dd";
public static final String DATE_TIME_FORMAT_YYYYMMDD_HHMM = "yyyy/MM/dd HH:mm";
public static Date createDateFromString(String date, String format) throws ParseException {
if (date == null) {
throw new IllegalArgumentException("Date is null!");
}
DateFormat df = new SimpleDateFormat(format);
return df.parse(date);
}
public static String formatDate(Date date, String format) {
DateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}
/**
* Formats Date with Time using yyyy/MM/dd HH:mm
*
* @return formatted Date as a String
*/
public static String formatDateTime(Date date) {
return formatDate(date, DATE_TIME_FORMAT_YYYYMMDD_HHMM);
}
/**
* Formats Date using yyyy/MM/dd
*
* @return formatted Date as a String
*/
public static String formatDate(Date date) {
return formatDate(date, DATE_FORMAT_YYYYMMDD);
}
/**
* Created date with given year, month and day
*
* @param year given year
* @param month given month (1-12)
* @param day given day of month
* @return created Date
*/
public static Date createDate(int year, int month, int day) {
return new DateTime().withDate(year, month, day).toDate();
}
}