All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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());
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy