package com.trs.project.util;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 日期时间工具类
 *
 * @Name DateTimeUtils
 * @Author adai
 * @Date 2021/4/16 10:38 上午
 * @Version V1.0.0
 **/
public class DateTimeUtils {

    private static final SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
    private static final SimpleDateFormat df_line = new SimpleDateFormat("yyyy-MM-dd");
    private static final SimpleDateFormat tf = new SimpleDateFormat("yyyyMMddHH:mm:ss");
    private static final SimpleDateFormat tf_line = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    /**
     * 获取当前时间秒数
     *
     * @return
     */
    public static long getTime() {
        return getTimeMillis() / 1000;
    }

    /**
     * 获取当前时间毫秒数
     *
     * @return
     */
    public static long getTimeMillis() {
        return System.currentTimeMillis();
    }

    /**
     * 获取当前数字日期
     *
     * @return
     */
    public static String getDateNum() {
        return getDateNum(new Date());
    }

    /**
     * 获取指定日期数字
     *
     * @param date
     * @return
     */
    public static String getDateNum(Date date) {
        return df.format(date);
    }

    /**
     * 获取当前日期
     *
     * @return
     */
    public static String getDateStr() {
        return getDateStr(new Date());
    }

    /**
     * 获取指定日期
     *
     * @param date
     * @return
     */
    public static String getDateStr(Date date) {
        return df_line.format(date);
    }

    /**
     * 获取当前时间数字
     *
     * @return
     */
    public static String getTimeNum() {
        return getTimeNum(new Date());
    }

    /**
     * 获取时间数字
     *
     * @param date
     * @return
     */
    public static String getTimeNum(Date date) {
        return tf.format(date);
    }

    /**
     * 获取当前时间
     *
     * @return
     */
    public static String getTimeStr() {
        return getTimeStr(new Date());
    }

    /**
     * 获取时间
     *
     * @param date
     * @return
     */
    public static String getTimeStr(Date date) {
        return tf_line.format(date);
    }

    /**
     * 格式化时间数据
     *
     * @param date
     * @param format
     * @return
     */
    public static String getDateStringByFormat(Date date, String format) {
        return new SimpleDateFormat(format).format(date);
    }
}
