org.kaizen4j.common.util.DateUtils Maven / Gradle / Ivy
package org.kaizen4j.common.util;
import com.google.common.base.Throwables;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* 日期工具类
*
* @author John
*/
public final class DateUtils {
public static final String FORMAT_YMD_HMS_DASH = "yyyy-MM-dd HH:mm:ss";
public static final String FORMAT_YMD_DASH = "yyyy-MM-dd";
/**
* 当前日期时间字符串
*
* @param datetimeFormat 日期时间格式
* @return String 日期时间字符串
*/
public static String currentDateString(String datetimeFormat) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datetimeFormat);
return simpleDateFormat.format(Calendar.getInstance().getTime());
}
/**
* 当前日期时间字符串,格式为yyyy-MM-dd HH:mm:ss
*
* @return String 日期时间字符串
*/
public static String currentDatetimeString() {
return currentDateString(FORMAT_YMD_HMS_DASH);
}
/**
* 当前日期字符串,格式为yyyy-MM-dd
*
* @return String 日期字符串
*/
public static String currentDateString() {
return currentDateString(FORMAT_YMD_DASH);
}
/**
* 当前日期时间对象
*
* @param datetimeFormat 日期时间格式
* @return java.util.Date 日期时间对象
*/
public static Date currentDate(String datetimeFormat) {
String dateString = currentDateString(datetimeFormat);
return toDate(dateString, datetimeFormat);
}
/**
* 当前日期时间对象,格式为 yyyy-MM-dd HH:mm:ss
*
* @return java.util.Date 日期时间对象
*/
public static Date currentDatetime() {
return currentDate(FORMAT_YMD_HMS_DASH);
}
/**
* 当前日期对象,格式为 yyyy-MM-dd
*
* @return java.util.Date 日期对象
*/
public static Date currentDate() {
return currentDate(FORMAT_YMD_DASH);
}
/**
* 日期时间对象转字符串
*
* @param date java.util.Date 日期时间对象
* @param datetimeFormat 日期时间格式
* @return String 日期时间字符串
*/
public static String toString(Date date, String datetimeFormat) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datetimeFormat);
return simpleDateFormat.format(date);
}
/**
* 日期时间对象转字符串,格式为 yyyy-MM-dd HH:mm:ss
*
* @param date
* @return String 日期时间字符串
*/
public static String toDatetimeString(Date date) {
return toString(date, FORMAT_YMD_HMS_DASH);
}
/**
* 日期对象转字符串,格式为 yyyy-MM-dd
*
* @param date
* @return String 日期字符串
*/
public static String toDateString(Date date) {
return toString(date, FORMAT_YMD_DASH);
}
/**
* 日期时间对象转字符串
*
* @param date java.sql.Date 日期时间对象
* @param datetimeFormat 日期时间格式
* @return String 日期时间字符串
*/
public static String toString(java.sql.Date date, String datetimeFormat) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datetimeFormat);
return simpleDateFormat.format(date);
}
/**
* 日期时间对象转字符串,格式为 yyyy-MM-dd HH:mm:ss
*
* @param date
* @return String 日期时间字符串
*/
public static String toDatetimeString(java.sql.Date date) {
return toString(date, FORMAT_YMD_HMS_DASH);
}
/**
* 日期对象转字符串,格式为 yyyy-MM-dd
*
* @param date
* @return String 日期字符串
*/
public static String toDateString(java.sql.Date date) {
return toString(date, FORMAT_YMD_DASH);
}
/**
* 字符串转日期时间对象
*
* @param dateString 字符串
* @param datetimeFormat 日期时间格式
* @return java.util.Date 日期时间对象
*/
public static Date toDate(String dateString, String datetimeFormat) {
try {
DateFormat dateFormat = new SimpleDateFormat(datetimeFormat);
return dateFormat.parse(dateString);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
/**
* 字符串转日期时间对象,格式为 yyyy-MM-dd HH:mm:ss
*
* @param dateString
* @return java.util.Date 日期时间对象
*/
public static Date toDatetime(String dateString) {
return toDate(dateString, FORMAT_YMD_HMS_DASH);
}
/**
* 字符串转日期对象,格式为 yyyy-MM-dd
*
* @param dateString
* @return java.util.Date 日期对象
*/
public static Date toDate(String dateString) {
return toDate(dateString, FORMAT_YMD_DASH);
}
public static Date toDate(java.sql.Date date) {
return new Date(date.getTime());
}
public static java.sql.Date toDate(Date date) {
return new java.sql.Date(date.getTime());
}
}